首页 > 代码库 > $.ajax的一些总结

$.ajax的一些总结

1.$.ajaxSetup()函数来全局设置
    $.ajaxSetup({
      url: "/xmlhttp/",
      global: false,
      type: "POST"
    });
    $.ajax({ data: myData });
 所有的ajax请求都共享ajaxSetup里设置的参数;
2.禁止使用缓存  cache:false;
3.同步请求
 var html = $.ajax({
  url: "some.php",
  async: false
 }).responseText;
4.beforeSend事件  在发送请求之前触发,可以修改ajax对象参数,如果return false,本次请求取消;
5.context   可以指定一个DOM元素,在回调函数里边this就指向那个DOM元素;
6.crossDomain   同域请求为false,跨域请求为true,如果你想强制跨域请求(如JSONP形式)同一域,设置crossDomain为true。这使得例如,服务器端重定向到另一个域
7.statusCode      一组数值的HTTP代码和函数对象,当响应时调用了相应的代码。例如,如果响应状态是404,将触发以下警报:
    $.ajax({
      statusCode: {404: function() {
        alert(‘page not found‘);
      }
    });
8.processData   如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。

 

Ajax跨域请求COOKIE无法带上的解决办法

 

原生ajax请求方式:
var xhr = new XMLHttpRequest();  xhr.open("POST", "http://xxxx.com/demo/b/index.php", true);  xhr.withCredentials = true; //支持跨域发送cookiesxhr.send();

jquery的ajax的post方法请求:
 $.ajax({                    type: "POST",                    url: "http://xxx.com/api/test",                    dataType: jsonp,                    xhrFields: {                        //支持跨域发送cookies                        withCredentials: true                    },                    //强制跨域请求                    crossDomain: true,                    success: function () {                    },                    error: function () {                    }                })
服务器端设置:
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Origin: http://www.xxx.com");

 

$.ajax的一些总结