跨域问题及jQuery中Ajax传参的讲解
1.跨域:不再同一服务器下,就是协议,域名,端口,有一个不一样;
浏览器对于javascript的同源策略的限制;
案例:
以 http://172.164.23:8088/ 为例
相同域名:172.164.13 (也称为ip地址)
相同端口::8088 (端口);
相同协议:http
互联网的协议目前就两种 http和https
2.同源策略
请求的地址和浏览器的地址必须在同域下,就是说协议,端口,域名都得一样,否则就会报同源策略的错误;
access同源策略的报错;
浏览器的环境和服务器的环境,不再同一环境内;
解决跨域问题:
靠标签身上的src属性,解决跨域问题;
利用script标签的src属性去请求外部的数据,前提条件,别人让你跨域;
如何看别人提供的接口;
现在开头有没有wd,如果有再看里面有没有你搜的关键字,如果有,在看里面的cb,如果都有,就是接口
看网络地址的关键单词:cb(百度的接口) callback(360的接口);
1.自己提供接口的
写的顺序,先处理数据;(回调数据中的函数名)
在通过script中的src属性,去链接到自己的接口;(自己写的数据只用一个函数名包着,便于回调)
2.别人提供的接口:
写的顺序,先处理数据 (回调数据中的函数名)
在通过script中的src属性,去 链接到别人的接口;(并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)
3.dom创建的方式;
var script=document.createElement("script");
script.src="网络地址" (并将cb后面别人的的函数名,改为自己要处理数据的函数名,便于回调)
document.body.appendChild(script)
写函数处理数据 (cb后面的函数名)
jQuery中的Ajax
load() 将服务器加载数据,放在指定的元素中;
$("a").load() 参数一:url地址 参数二:{name:"cui"} 传入的数据
php中当不知道用get或post来接收数据的话,用REQUEST
使用情景:当一个网站有许多页面,但头部和尾部都以往,都可以使用load;
load是以post方式发送的php后台用post接受或以REQUEST接受;
php是一门后台语言,不能直接用浏览器打开
因为浏览器不是他的环境;
apache是php的环境,js的环境是node,我们用的phpstudy,这个集成的环境;
只需要把php文件放在apache中的根目录www文件就行了;
php语法规则:
每个语句后面一定要加;
输出语句echo
必须通过网络地址打开,浏览器是他的载体,不能用浏览器直接就打开了,通过网络地址才可以;
get/post 接受前台提供的参数
通过8088找到的都是后台的东西;
www根目录,提供一种相对路径;
www提供的相对空间,里面的文件都是相对访问,
需要什么在网络地址中输什么;
想要了解php,一定要先转换思维;
后台思维;
前台思维:加载网页从上到下逐个加载,一个dom一个dom的加载,要注意,link,script,img,iframe等带有href属性和src属性的标签,这些属性相当于Ajax,又去服务端去寻找对象的资源,
www的相对路径,很重要,不然所有的文件都是独立的个体;
IDE 继承的环境(俗称:编辑器)
php语法:
只要写php文件中都可以嵌套html标签,但是html标签里面不可以出现php写法
所有的php脚本都以<?php为开头 以?>结尾 中间写内容;
php的拓展名为 .php;
php中的每行代码写完之后一定要加分号,不然的话会报错;
php的输出语句为 echo和print;
php的注释 单行注释// 多行注释/* */
变量:
php中的变量靠$加变量名;
变量的命名规则:
1.不能用汉字
2.不能用数字
3.不能用特殊符号
4.区分大小写
驼峰命名法:nameAge
匈牙利命名法:_.name
案例:
$name="zhangsan";
echo $name;
要在服务器中打开;
php是弱类型语言;
变量声明,无需指定数据类型 (数据类型由赋予他的值来决定)
php中没有对象 就是{}这种写法
int a=12;(这就是强类型语言) 声明一个整型值为12;
作用域:
全局作用域:函数外定义的变量
局部:函数内定义的变量
正常环境下,不管全局或局部变量二者都不可以相互访问
全局的global关键字,用于函数内部访问全局变量;
函数内需要访问的全局变量,需要在变量前在global关键字
局部变量的优势,也是劣势:随着函数调用结果内存会被销毁
如果需要保存局部变量的内存不被销毁,变量前面在static关键字
php的数据类型:
string int(整形) float(浮点型) boolean array object null 7个
对象:
案例:
class dog{
$name="gougou";
function fn(){} 方法
}
$_GET 数组 前台的数据都存在数组中;
=> 键值对的意思
jQuery中数据传参
$.get("url",{name:"zhang"},function(data){
console.log(data)
})
$.post("url",{name:"lisi"},function(data){
console.log(data)
})
$.ajax({
type:"get",
url:"01.php",
async:true,
data:{name:"lisi"},
success:function(data){
console.log(data)
}
})
jQuery中Ajax的跨域问题
jsonp 跨域问题 回调函数的字符串;
jsonpcallback:跟的是cb后面的函数主要是自己写;
跨域问题及jQuery中Ajax传参的讲解的更多相关文章
- Ajax跨域原理及JQuery中的实现
浅析Ajax跨域原理及JQuery中的实现分析 AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请 ...
- 浅析Ajax跨域原理及JQuery中的实现分析
AJAX 的出现使得网页可以通过在后台与服务器进行少量数据交换,实现网页的局部刷新.但是出于安全的考虑,ajax不允许跨域通信.如果尝试从不同的域请求数据,就会出现错误.如果能控制数据驻留的远程服务器 ...
- ASP.NET 跨域请求之jQuery的ajax jsonp的使用解惑 (转载)
前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...
- 跨域请求之jQuery的ajax jsonp的使用解惑
前天在项目中写的一个ajax jsonp的使用,出现了问题:可以成功获得请求结果,但没有执行success方法,直接执行了error方法提示错误——ajax jsonp之前并没有用过,对其的理解为跟普 ...
- jquery中ajax处理跨域的三大方式
一.处理跨域的方式: 1.代理 2.XHR2 HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已经实现了跨域访问.但ie10以下不支持 只需要在服务端填上响应头: ? 1 2 ...
- jquery中ajax跨域加载
今天学习ajax跨域加载,先来一段代码,异步加载的链接是爱奇艺的开源,我直接拿来用作测试 <!DOCTYPE html> <html lang="en"> ...
- 关于Jquery中ajax方法data参数用法的总结
data 发送到服务器的数据.将自动转换为请求字符串格式.GET 请求中将附加在 URL 后.查看 processData 选项说明以禁止此自动转换.必须为 Key/Value 格式.如果为数组,jQ ...
- jQuery中$.ajax()详解(转)
JQuery中$.ajax()方法参数详解 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get) ...
- Jquery中.ajax和.post详解
之前写过一篇<.NET MVC 异步提交和返回参数> ,里面有一些ajax的内容,但是不深入,这次详细剖析下jquery中$.ajax的用法. 首先,上代码: jquery-1.5.1 $ ...
随机推荐
- 20165313 《Java程序设计》第一周学习总结
教材学习内容总结 1.Java的地位 1.网络地位 2.语言地位 3.需求地位 2.Java的特点 1.简单 2.面向对象 3.平台无关 4.多线程 5.动态 3.安装JDK(重点) 注释:需修改系统 ...
- jsp中的include静态包含与动态包含,
d动态包含与静态包含的最大区别是 静态包含:<%@ include file = "文件名.jsp"%>,在<body>的标签外定义.在没有编译的时候,两个 ...
- IntelliJ IDEA备忘
IntelliJ IDEA生成get/set方法的快捷键 IntelliJ IDEA生成get/set有2种方式,alt+enter.alt+insert.下面分别介绍这2种方式快速生成get与set ...
- nginx安装最简单教程
[root@bogon ~]# wget -c http://nginx.org/download/nginx-1.7.9.tar.gz #下载安装包 [root@bogon ~]# ls anaco ...
- 初始Openwrt
系统结构 在上一章我们已经完成了刷机工作,这个时候系统进行了首次启动,并且格式化了它的"可写"分区.那么在设备里分区到底是怎么样进行的呢?我们首先需要知道:不同的处理器下OpenW ...
- 线性代数笔记13——Ax=b的通解
关于最简行阶梯矩阵和矩阵秩,可参考<线性代数笔记7——再看行列式与矩阵> 召唤一个方程Ax = b: 3个方程4个变量,方程组有无数解,现在要关注的是b1b2b3之间满足什么条件时方程组有 ...
- idea+maven+springmvc+helloworld
1.添加依赖,并在项目上添加Spring mvc框架的支持(add FrameWork Support): <dependency> <groupId>junit</gr ...
- mongo之 前后台创建索引 --noIndexBuildRetry
在数据量超大的情形下,任何数据库系统在创建索引时都是一个耗时的大工程.MongoDB也不例外.因此,MongoDB索引的创建有两个选择,一个是前台方式,一个是后台方式.那这两种方式有什么差异呢,在创建 ...
- 配置zabbix当内存剩余不足15%的时候触发报警
zabbix默认的剩余内存报警:Average Lack of available memory on server {HOST.NAME}{Template OS Linux:vm.memory.s ...
- linux shell获取键盘输入
linux shell从键盘获取输入 代码1: #!/bin/bash #提示“Input your choice:”,把用户的输入保存入变量choice_user中read -p "Inp ...