$.ajaxSetup()与$.ajax()区别

Posted by

ajaxSetup()其使用方法与ajax()并无区别,只是在其之后的ajax()不用再重复添加相同参数,节省了代码量。

其实简单意思就是:如果在ajaxSetup 里面定义了变量,后边的ajax代码可以直接使用,不用再重复定义。

例如,以下为url重复 ping 服务器之前的参数设置默认值:

$.ajaxSetup({
  url: "ping.php"
});

现在每次发出 Ajax 请求时,都会自动使用“ping.php” URL:

$.ajax({
  // url not set here; uses ping.php
  data: { "name": "Dan" }
});

注意:全局回调函数应该使用它们各自的全局 Ajax 事件处理方法来设置—— .ajaxStart().ajaxStop().ajaxComplete().ajaxError().ajaxSuccess(), ——.ajaxSend()而不是在options对象中设置$.ajaxSetup().

例子:

将 Ajax 请求的默认值设置为 url“/xmlhttp/”,禁用全局处理程序并使用 POST 而不是 GET。下面的 Ajax 请求随后会发送一些数据,而无需设置任何其他内容。

$.ajaxSetup({
  url: "/xmlhttp/",
  global: false,
  type: "POST"
});
$.ajax({ data: myData });