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: function (url, $jqueryDiv, requestData, templateHandle, callback, templateData) { var 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: function (er) { if (er.statusText == 'timeout') { updateHtml($jqueryDiv, "<div style='color: red'>连接服务器超时!</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模板前要增加<meta http-equiv="Access-Control-Allow-Origin" content="*">,表示服务器端支持跨域.
(2)只有IE8 才有跨域拒绝访问的问题,所以引入第三方js文件时,要使用<!--[if IE 8]>
jQuery.XDomainRequest.js 见附件
参考:https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest
http://stackoverflow.com/questions/10232017/ie9-jquery-ajax-with-cors-returns-access-is-denied
相关推荐
解决IE8 jquery ajax获取静态资源报错TypeError 拒绝访问问题
title: 'Vue.js路由报错:TypeError: Cannot read property ''_c'' of undefined'错误详情:像上面这
主要介绍了Ajax方式上传文件报错"Uncaught TypeError: Illegal invocation",非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
主要介绍了Vue 报错TypeError: this.$set is not a function 的解决方法,分享给大家,需要的朋友们下面随着小编来一起学习学习吧
今天使用ajax上传文件时,出现了错误。数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求。F12看到后台报了个错误:Uncaught TypeError: Illegal invocation,百度了...
主要介绍了JQuery报错"Uncaught TypeError: Illegal invocation"的处理方法,需要的朋友可以参考下
翻译过来是类型为“type”的TypeError对象没有len(),我报错的代码是: #coding=utf-8 print(请输入一个字符串:) a = input('') #回文的长度至少为2 if len(str) < 2: print('请不要输入空字符串!') a = ...
处理上传的文件: ...测试报错: TypeError at /upload/ write() argument must be str, not bytes 把之前的打开语句修改为用二进制方式打开: f1 = request.FILES['pic'] fname = '%s/%s' % (sett
主要给大家介绍了关于django启动uwsgi报错的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
今天把最近一直在开发的小程序放安卓手机上测试一下,结果某个页面就一直报错: Uncaught TypeError: Converting circular structure to JSON 先说一下基本的环境: 系统:Android 6.0.1 手机:小米4 微信版本:...
为大家分享了一个解决jquery插件:TypeError:$.browser is undefined报错的方法,解决报错问题的方法也很简单,需要解决此类问题的朋友不要错过这篇文章。
这个一个python实现的车道线识别程序,基于opencv库。压缩包内还附了测试用的图像和视频,适合进行python和图像处理学习。
Screenful.js 是一个简单的跨平台的全屏API封装。它使不同浏览器的全屏实现变得很平滑。而且可以让任何元素全屏。 在线演示 标签:Screenful
本文档总结了常用的videojs的方法、事件,并写了几个常用的视频操作实例,比如暂停、插入图片、插入文字、插入视频等
jQuery1.8.2在IE9中调用ajax失败的问题 jQuery1.7.1不能正确地设置IE7中克隆元素的tabindex属性 压缩的JS文件包含非ASCII字符 如果body样式设置为display:none,则$('body')。show()无法工作 在IE9中element.css...
TypeError: list indices must be integers or slices, not str 这个错误,这里就分析一下为什么会报错以及如何解决。 这个错误的意思是’类型错误:list的索引必须是’integers’或者’slices’不能是’str’ 我...