html 方法ie8报错,IE8 jquery ajax获取静态资源报错TypeError 拒绝访问

出现问题的代码 /*** * 请求静态html 模板 * @param url * @param $jqueryDiv : 四个主要div之一 * @param templateHandle : 自定义,用于使用Dot js模板函数 * @

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, "

连接服务器超时!
");

} 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

(3) 静态html模板前面增加:

< meta http-equiv=”Access-Control-Allow-Origin” content=”*”>

d866a4aba6add5ced543b5a7a8185c1f.png

注意:

(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,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值