jQuery ajaxSetup() 方法
- $(function(){
- // 设置jQuery Ajax全局的参数
- $.ajaxSetup({
- type: "POST",async: false,cache: false,dataType: "JSON",error: function(jqXHR,textStatus,errorThrown){
- switch (jqXHR.status){
- case(500):
- alert("服务器系统内部错误");
- break;
- case(401):
- alert("未登录");
- break;
- case(403):
- alert("无权限执行此操作");
- break;
- case(408):
- alert("请求超时");
- break;
- default:
- alert("未知错误");
- }
- },success: function(data){
- alert("操作成功");
- }
- });
- });
当设置该属性后,在其他jQuery没有设置的ajax中,默认设用该设置。
----------------------------------------------------------------------------------------------------
Cache缓存问题 由于IE的缓存处理机制问题,每次通过XMLHttpRequest访问动态页面返回的总是首次访问的内容,解决方法有: 1. 客户端通过添加随机字符串解决。如: var url = 'http://url/'; url += '?temp=' + new Date().getTime(); url += '?temp=' + Math.random(); 2. 在HTTP headers禁止缓存。如: HTTP: <Meta http-equiv="pragma" content="no-cache" /> <Meta http-equiv="Cache-Control" content="no-cache,must-revalidate" /> <Meta http-equiv="expires" content="Thu,01 Jan 1970 00:00:01 GMT" /> <Meta http-equiv="expires" content="0" /> PHP: header("Expires: Thu,01 Jan 1970 00:00:01 GMT"); header("Cache-Control: no-cache,must-revalidate"); header("Pragma: no-cache"); ASP: Response.expires=0 Response.addHeader("pragma","no-cache") Response.addHeader("Cache-Control","no-cache,must-revalidate") JSP: response.addHeader("Cache-Control","no-cache"); response.addHeader("Expires","Thu,01 Jan 1970 00:00:01 GMT"); 3. 在XMLHttpRequest发送请求之前加上: XMLHttpRequest.setRequestHeader("If-Modified-Since","0"); XMLHttpRequest.send(null);