IE8 jquery ajax获取静态资源报错TypeError 拒绝访问

1. 出现问题的代码

/**** 请求静态html 模板* @param url* @param $jqueryDiv : 四个主要div之一* @param templateHandle : 自定义,用于使用Dot js模板函数* @param callback : 用于实现模板之后,绑定事件* @param templateData : cia的返回数据*/ajaxHtml: function (url, $jqueryDiv, templateHandle, callback, templateData) {xhr.ajaxHtmlCommon(url, $jqueryDiv, null, templateHandle, callback, templateData);},/**** ajax 请求静态html文件* @param url* @param $jqueryDiv* @param data* @param callback : 回调函数,updateHtml 方法之后执行*/ajaxHtmlCommon: argument_length = arguments.length;var isHasCallback = (argument_length > 4 && callback && typeof callback === ‘function’);var options22 = {url: url,type: “GET”,timeout: 18000,dataType: ‘html’,success: function (html) {updateHtml($jqueryDiv, html, templateHandle, templateData);/* var $formInput = jqueryObj.find(‘textarea:first’);//让subContent 中的textarea聚焦if ($formInput.length != 0) {//先判断能不能获取到textarea$formInput.get(0).focus();}*/if (isHasCallback) {callback($jqueryDiv, html);}},error: (er.statusText == ‘timeout’) {updateHtml($jqueryDiv, “<div>连接服务器超时!</div>”);} else {var errorMessage2;if (er.responseText) {errorMessage2 = er.responseText;} else {errorMessage2 = er.statusText;}console.log(‘error:’ + errorMessage2);updateHtml($jqueryDiv, errorMessage2, templateHandle, templateData);}if (isHasCallback) {callback($jqueryDiv, er);}}};if (argument_length > 2 && requestData != null && requestData != undefined) {options22.data = requestData;options22.type = “POST”;}$.ajax(options22);}

浏览器版本:IE8 获取html模板时报错:

var ajaxHtml4IE8 = function () {xhr.ajaxHtml(‘cross_domain.html’, $(‘#crossDiv’), null, null, null);}

报错信息:TypeError 拒绝访问

2. 解决方法:

(1)在js文件头部增加:

jQuery.support.cors = true;

(2) html文件引入jQuery.XDomainRequest.js

<!–[if IE 8]><script type=”text/javascript”src=”jQuery.XDomainRequest.js”></script><![endif]–>

(3) 静态html模板前面增加: < meta http-equiv=”Access-Control-Allow-Origin” content=”*”>

注意: (1)静态HTML模板前要增加,表示服务器端支持跨域. (2)只有IE8 才有跨域拒绝访问的问题,所以引入第三方js文件时,要使用< !–[if IE 8]> (3)jquery-1.11.1.js 及以上版本不支持IE8 jQuery.XDomainRequest.js 见附件 参考:https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest

,人生就像一杯没有加糖的咖啡,喝起来是苦涩的,

IE8 jquery ajax获取静态资源报错TypeError 拒绝访问

相关文章:

你感兴趣的文章:

标签云: