使用jQuery的$.ajaxSetup方法可以设置AJAX请求的默认参数选项,当程序中需要发起多个AJAX请求时, 则不用再为每一个请求配置请求的参数。 既然是全局默认选项,所以,该项中设置的参数会影响所有的$.ajax请求如$.get(),$.post(),$.ajax等。 需要注意的是,如果在请求时重新设置了已参数值,这时请求会用新设置的值,而不是用$.ajaxSetup中默认设置的值, 用$.ajaxSetup函数所设置的默认值不会应用到load()命令上。对于实用工具函数,如$.get()和$.post(),其HTTP方法 不会因为使用这些默认值而被覆盖。如设置GET的默认类型不会导致$.post()使用HTTP的GET方法。 记得有次面试被问到:如果一个网站的所有ajax请求被要求追加一个指定参数,该如何解决这个需求? 网站上可能有上百个ajax请求,难道要一个个的找到去修改?这工作量就大了,而且修改过程中一不小心就要出错。 这种情况,$.ajaxSetup()方法可以帮助你。 你可以在网站的公共js文件中添加$.ajaxSetup()方法,在方法里面追加参数,如:$.ajaxSetup({addParam:'addParam'}); w3c上的demo: 设置 AJAX 请求默认地址为 "/xmlhttp/",禁止触发全局 AJAX 事件,用 POST 代替默认 GET 方法。其后的 AJAX 请求 不再设置任何选项参数:
HTML:
1.没有点击第二个按钮的情况下,点击异步请求,查看控制台console,可以看到有一个输出"some-beforeSend", 查看Form Data为"test:test"。 2.点击第二个按钮的之后再点击异步请求,查看控制台,可以看到有两个输出"some-beforeSend","global-ccccccccccc", 查看Form Data为"test2:test2,test:test",说明$.ajaxSetup()里的设置起了作用。 |
|