ajax

Posted 好笑。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ajax相关的知识,希望对你有一定的参考价值。

Ajax跨域(AJAX的核心是XMLHttpRequest)
原生ajax的四个过程: 
实例化,open,send,onreadystatechange,然后是req,readyState和status。
 
为什么会发生ajax跨域(同时满足以下三个,可能跨域原因)
1.浏览器限制
2.跨域.端口不同/协议不同/ip不同
3.XHR(XMLHttpRequest)请求类型
 
解决方法:
1.代理
通过后台(ASP、php、JAVA、ASP.NET)获取其他域名下的内容,再把获得内容返回到前端,这样因为在同一个域名下,所以就不会出现跨域的问题。
2.JSONP
只支持GET请求,返回数据格式必须是json数据
3.XHR2(XMLHttpRequest Level2)
(在服务器端响应接口添加2个响应头)
Access-Control-Allow-Origin: * //*代表任何域。也可以指定地址
Access-Control-Allow-Methods: POST,GET //支持的方法
这样在客户端使用常规的ajax即可
 
总结
代理实现最麻烦,但使用最广泛,任何支持AJAX的浏览器都可以使用这种方式。
JSONP相对简单,但只支持GET方式调用。
XHR2最简单,但只支持html5,如果你是移动端开发,可以选择使用XHR2。
 
 
技术分享图片
 
//Jquery
$.ajax({
type:"get",
url:url,
async:false, //async是异步 sync是同步
data:{},
dataType:"json",
succedd:function(msg){
},
error:function(){
}
});
 
 
 
 

以上是关于ajax的主要内容,如果未能解决你的问题,请参考以下文章

从零开始学 Web 之 AjaxAjax 概述,快速上手

AJAX

Ajax及跨域

Django的日常-AJAX

jQuery中的Ajax以及请求函数

Ajax