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'错误详情:像上面这
jQuery作为一款流行的JavaScript库,极大地简化了JavaScript编程,特别是在进行DOM操作和Ajax请求方面。然而,在使用jQuery过程中,开发者有时会遇到JavaScript控制台抛出“Uncaught TypeError: Illegal invocation...
今天使用ajax上传文件时,出现了错误。数据传输的方式是通过定义formData完成的,提交的文件对象也设置为dom对象,但是还是不能发送请求。F12看到后台报了个错误:Uncaught TypeError: Illegal invocation,百度了...
然而,当你遇到`TypeError: this.$set is not a function`的错误时,通常是因为`this`上下文没有正确指向Vue实例。下面我们将深入探讨这个问题及其解决方案。 ### 报错场景 在开发过程中,你可能在尝试将API获取的...
3. `jQuery之家.url` - 这可能是一个链接到jQuery相关资源的快捷方式,方便开发者获取更多关于jQuery的信息。 4. `css` 文件夹 - 存放了与插件相关的CSS样式文件,虽然插件本身不需要额外的CSS,但可能包含了默认...
在Web开发中,使用Ajax进行异步文件上传是一种常见的做法,它可以提供无刷新的用户体验。然而,开发者在实现这一功能时可能会遇到一些错误,如"Uncaught TypeError: Illegal invocation"。这个错误通常出现在尝试...
1. jQuery插件报错问题:在使用jQuery插件时可能会遇到"TypeError: $.browser is undefined"的报错,这主要是因为从jQuery 1.9版本开始,jQuery移除了$.browser和$.browser.version这两个用于获取浏览器基本信息的...
在尝试写入从HTTP请求中获取的文件时,原始的代码试图以文本模式('w')打开文件,这导致了错误:“TypeError at /upload/write() argument must be str, not bytes”。这个错误表明,程序正尝试将字节对象(bytes)...
在“tinymce4.7.5”这个压缩包中,包含了Tinymce的特定版本——4.7.5的所有静态资源文件,这些文件使得开发者能够集成并自定义编辑器以满足各种需求。 首先,我们要了解Tinymce的核心概念。Tinymce是一个基于...
在开发使用Bootstrap和jQuery的前端项目时,经常会遇到各种各样的引入文件报错问题。本文将详细解释一些常见的报错,并提供相应的解决方案。 1. jQuery未定义的错误 这是最常见的问题之一。当尝试使用jQuery相关的...
车道线识别程序是自动驾驶和智能交通系统中的关键组成部分,它能帮助车辆感知周围环境,确保行车安全。本项目是利用Python编程语言结合OpenCV库来实现这一功能的实例。OpenCV是一个强大的开源计算机视觉库,提供了...
不返回`_ajax`的结果会导致在使用`load`等依赖`ajax`方法的jQuery函数时,因为`ajax`没有返回`Promise`对象而报错:“Uncaught TypeError: Cannot call method 'done' of undefined。”因此,`return _ajax(_opt);`...
jQuery1.8.2在IE9中调用ajax失败的问题 jQuery1.7.1不能正确地设置IE7中克隆元素的tabindex属性 压缩的JS文件包含非ASCII字符 如果body样式设置为display:none,则$('body')。show()无法工作 在IE9中element.css...
在介绍如何解决Django启动uwsgi报错的问题之前,我们需要先弄清楚几个关键概念,它们分别是WSGI、uwsgi和uWSGI。这三者虽然名称相似,但代表的含义和作用是不同的。 首先,WSGI代表的是Web服务器网关接口,它是一个...
关于上面的代码片段,需要注意的是标签中的src属性指向的URL地址是已经上传至腾讯云并转码后的视频资源地址。poster属性则规定了视频下载时显示的图像,或者是用户点击播放按钮之前所显示的预览图,通常被称为海报...