参考文档:
https://www.cnblogs.com/Johnny_Z/archive/2012/06/17/2552609.html
使用jQuery的$.ajaxSetup方法可以设置AJAX请求的默认参数选项,当程序中需要发起多个AJAX请求时,则不用再为每一个请求配置请求的参数,以及各种相同结果的处理。
需要注意的是用.get()和.post()使用HTTP的GET方法。
<body>
<select id="selectNum">
<option value="0">--Select--</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
</select>
<div id="show">
</div>
<script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
$().ready(function () {
var show = $('#show');
$('#selectNum').change(function () {
var idValue = $(this).val();
$.get('Server.aspx', { id: idValue }, function (data) { show.append(data+'<br/>'); });
});
$.ajaxSetup({
timeout: 3000,
dataType: 'html',
//请求成功后触发
success: function (data) { show.append('success invoke!' + data + '<br/>'); },
//请求失败遇到异常触发
error: function (xhr, status, e) { show.append('error invoke! status:' + status+'<br/>'); },
//完成请求后触发。即在success或error触发后触发
complete: function (xhr, status) { show.append('complete invoke! status:' + status+'<br/>'); },
//发送请求前触发
beforeSend: function (xhr) {
//可以设置自定义标头
xhr.setRequestHeader('Content-Type', 'application/xml;charset=utf-8');
show.append('beforeSend invoke!' +'<br/>');
},
})
})
</script>
</body>
也就是调用接口都会执行ajaxSetup里面的东西,可以在ajaxSetup做相应的操作处理
注意:
ajax拦截器使用之后,用表单形式提交数据会对结果产生影响,返回的结果会变成json的字符串,所以需要做相应处理
网友评论