前言:
现在大家对“jquery全局ajax事件”大致比较注意,看官们都需要分析一些“jquery全局ajax事件”的相关文章。那么小编同时在网络上汇集了一些关于“jquery全局ajax事件””的相关内容,希望看官们能喜欢,小伙伴们一起来了解一下吧!跨域问题可以参考CORS标准。
CORS允许浏览器向跨源服务器,发出XMLHttpRequest请求。
具体操作只要在请求的地址服务的头信息中添加header("Access-Control-Allow-Origin:;) 即可
但是在IE8不可行,需使用XDomainRequest (XDR)来跨域访问
兼容代码如下:
function crossDomainAjax (url,successCallback) { url = encodeURI(url); // IE8 & 9 only Cross domain JSON GET request if ('XDomainRequest' in window && window.XDomainRequest !== null) { var xdr = new XDomainRequest(); // Use Microsoft XDR xdr.open('get', url); xdr.onload = function () { var dom = new ActiveXObject('Microsoft.XMLDOM'), JSON = $.parseJSON(xdr.responseText); dom.async = false; if (JSON == null || typeof (JSON) == 'undefined') { JSON = $.parseJSON(data.firstChild.textContent); } successCallback(JSON); // internal function }; xdr.onerror = function() { _result = false; }; xdr.send(); } // IE7 and lower can't do cross domain else if (navigator.userAgent.indexOf('MSIE') != -1 && parseInt(navigator.userAgent.match(/MSIE ([\d.]+)/)[1], 10) < 8) { return false; } // Do normal jQuery AJAX for everything else else { $.ajax({ url: url, cache: false, dataType: 'json', type: 'GET', async: false, // must be set to false success: function (data, success) { successCallback(data); } }); } }
参考链接:
标签: #jquery全局ajax事件 #ie7ajax无法返回json #ie8ajax请求失败 #jqueryajaxload页面 #ie8ajaxcors