0
点赞
收藏
分享

微信扫一扫

jQuery之异步Ajax请求使用

心智的年轮 2022-03-21 阅读 55


$.ajax({type:'',data:'',async:''...}) 

参数:

1.cache:​ true缓存页面 false 不缓存页面

(默认: true,dataType为script和jsonp时默认为false)


1.type:  GET /POST

请求方式 ("POST" 或 "GET"), 默认为 "GET"。注意:其它 HTTP 请求方法,如 PUT 和 DELETE 也可以使用,但仅部分浏览器支持。


2.async: true/false

         默认为true     异步请求

         false                   同步请求 注意,同步请求将锁住浏览器,用户其它操作必须等待请求完成才可以执行。


3.data 发送到服务器的数据。将自动转换为请求字符串格式

         要求为Object或String类型的参数     对象必须为key/value格式,例如{foo1:"bar1",foo2:"bar2"}转换为&foo1=bar1&foo2=bar2。

         single=Single&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio1


4.dataType: "JSON",

         预期服务器返回的数据类型

@1. "json": 返回 JSON 数据

@2."jsonp": ​​JSONP​​​ 格式。使用 ​​JSONP​​ 形式调用函数时,如 "myurl?callback=?" jQuery 将自动替换 ? 为正确的函数名,以执行回调函数。


5. jsonp

在一个jsonp请求中重写回调函数的名字。这个值用来替代在"callback=?"这种GET或POST请求中URL参数里的"callback"部分,比如{jsonp:'onJsonPLoad'}会导致将"onJsonPLoad=?"传给服务器。


6. jsonpCallback

默认为jQuery自动生成的随机函数名

为jsonp请求指定一个回调函数名。这个值将用来取代jQuery自动生成的随机函数名。这主要用来让jQuery生成独特的函数名,这样管理请求更容易,也能方便地提供回调函数和错误处理。你也可以在想让浏览器缓存GET请求的时候,指定这个回调函数名。


7.success:( data, textStatus, jqXHR)

请求成功后的回调函数。参数:由服务器返回,并根据dataType参数进行处理后的数据;描述状态的字符串。还有 jqXHR(在jQuery 1.4.x的中,XMLHttpRequest) 对象 。在jQuery 1.5, 成功设置可以接受一个函数数组。每个函数将被依次调用。


8.$("form").serialize() 

  序列 所有表单内容为字符串   把所有表单的值序列为以下字符串

         single=Single&multiple=Multiple&multiple=Multiple3&check=check2&radio=radio1 

o = $('form').serialize();

$.ajax({ 
  type: "POST",
  data : param,
  dataType: "JSON",
  async: false,
  url: "coupon_channel.php?act=update",
  success: function(data) {
    alert(data);
  }
});



9.jquery ajax的error错误信息:

项目开发中ajax的异常处理起来算是比较头疼的,因为是异步请求,所以即使ajax异常程序依然会继续执行,导致找ajax的异常比较麻烦。

今天处理ajax异常时搜到一篇文章,提到error可以返回ajax异常信息。

var url = untilController.do?doAdd
$.ajax({
url: url,
type: "post",
data: {
            id:id,
            name:name
          },
dataType: "json",
success: function(){
//callback;
}
error: function (XMLHttpRequest, textStatus, errorThrown) {
// 状态码:400
console.log(XMLHttpRequest.status);
// 状态:4
console.log(XMLHttpRequest.readyState);
// 错误信息:parsererror
console.log(textStatus);
}
});
$.ajax({
url: url,
type: "post",
data: {
},
dataType: "json",
success: function(){
//callback;
}
error: function (XMLHttpRequest, textStatus, errorThrown) {
// 状态码:400
console.log(XMLHttpRequest.status);
// 状态:4
console.log(XMLHttpRequest.readyState);
// 错误信息:parsererror
console.log(textStatus);
}
});

 有了error可以准确定位ajax请求哪里异常,处理异常非常方便。



举报

相关推荐

0 条评论