IE8 环境的 JQuery 中的 $.ajax 拒绝访问---解决方案

  需求是兼容到 IE8。

  $.ajax 总是请求失败,直接跳转到 error 函数中,报错:拒绝访问。

  网上的一些解决方法都试过了还是没有用,比如再请求之前设置 jQuery.support.cors = true,并调用 jquery.xdomainrequest.min.js 。更改 IE 设置,将通过域访问数据设置为允许。这些方法都试过了,都没有用。

  最后是在 $.ajax 运行之前添加如下代码成功的 。

        jQuery.support.cors = true;
        jQuery.ajaxSetup({
            xhr: function() {
                if(window.ActiveXObject){
                    return new window.ActiveXObject("Microsoft.XMLHTTP");
                }else{
                    return new window.XMLHttpRequest();
                }
            }
        });

  以上代码,如果只设置了 ajaxSetup ,而没有设置 cors,就会报错 No Transport 。所以两个都要设置,后台还需要设置所有域名都可访问,‘Access-Control-Allow-Origin‘: ‘*‘

原文地址:https://www.cnblogs.com/sspeng/p/10166023.html

时间: 2024-10-14 18:59:47

IE8 环境的 JQuery 中的 $.ajax 拒绝访问---解决方案的相关文章

jQuery中的Ajax学习笔记

前段时间学习了<锋利的jQuery第六章>jQuery与Ajax应用,现做如下笔记: 我们先来了解一下,什么是Ajax呢?Ajax全称为“Asynchronous JavaScript and XML”(异步JavaScript和XML),它并不是指一种单一的技术,而是有机地利用了一系列交互式网页应用相关的技术所形成的结合体.简短地说,在不重载整个页面的情况下,Ajax通过后台加载数据,并在网页上进行显示. 我们来简要回顾一下Ajax.早在1998年,微软就引入了一个ActiveX控件,从而能

jQuery中对AJAX操作的封装函数

jQuery提供了6个简化AJAX操作的函数,每个都可以代替元素AJAX中的四步代码! (1)$('xxx').load()         jQuery对象函数 (2)$.get()                   jQuery全局函数 (3)$.post()                 jQuery全局函数 (4)$.getScript()          jQuery全局函数 (5)$.getJSON()           jQuery全局函数 (6)$.ajax()     

深入理解ajax系列第九篇——jQuery中的ajax

前面的话 jQuery提供了一些日常开发中需要的快捷操作,例如load.ajax.get和post等,使用jQuery开发ajax将变得极其简单.这样开发人员就可以将程序开发集中在业务和用户体验上,而不需要理会那么繁琐的XMLHTTPRequest对象.jQuery对ajax操作进行了封装,在jQuery中$.ajax()属性最底层的方法,第2层是load().$.get()和$.post()方法,第3层是$.getScript()和$.getJSON()方法.下面将详细介绍jQuery中的aj

jquery中的ajax参数

jquery中将ajax封装成了函数,我们使用起来非常方便,jquery会自动根据内容选择post还是get方式提交数据,并且会自动编码,但是要想完全掌握jquery中的ajax,我们必须将它的各个参数记住: 1.url    strng   发送请求的地址 2.type  string   请求方式(post或get,默认get),其他http请求方法,比如:put和delete也可以使用,但只有部分浏览器支持. 3.timeout   number    设置请求超时时间(毫秒).此设置将覆

在jquery中使用AJAX

在jquery中使用封装好的AJAX会对开发效率起到极大的便利,因此掌握jquery中的一系列AJAX封装函数是做好页面数据交互的必备技能: 1.在之前,我们首先需要详细了解AJAX异步请求接受的五中响应消息,根据不同的响应类型进行不同的操作 (1)text/plain    // 明文 服务器端: header('Content-Type: text/plain'); echo 'succ'; 客户端: if(xhr.responseText==='succ'){ ... } (2)text/

两强相争,鹿死谁手 — JQuery中的Ajax与AngularJS中的$http

一.JQuery与AngularJS 首先,先简单的比较一下JQuery与AngularJS. 二.Ajax请求与数据遍历打印 这里是Ajax和$http请求的JSON文件概览,默认的路径我们就放在与两者同级的文件夹里. [ { "name": "一号", "age": 17, "hobby": [ "吃", "喝" ], "score":{ "math&q

分析一下jquery中的ajax操作

在web前端开发中,ajax是很重要的一项技术,用原生写起来很是麻烦,需要一大堆js代码,而到了jq里就被精简了许多,一起来看看: jquery中的ajax分为三种方式: 1.$.get(),get方式获取 例子: $('.btn').click({ $.get('1.txt',function(data){ //'1.txt'为服务器上的文档,data为获取到的数据 alert(data); }); }) 2.$.post(),post方式获取 例子: $('.btn').click({ $.

从零开始学习jQuery (六) jquery中的AJAX使用

本篇文章讲解如何使用jQuery方便快捷的实现Ajax功能.统一所有开发人员使用Ajax的方式. 一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 本篇文章讲解如何使用jQuery方便快捷的实现Ajax功能.统一所有开发人员使用Ajax的方式. 二.前言 Ajax让用户页面丰富起来, 增强了用户体验. 使用Ajax是所有Web开发的必修课. 虽然Ajax技术并不复杂, 但是实现方式还是会因为每个

jQuery入门(4)jQuery中的Ajax应用

jQuery入门(1)jQuery中万能的选择器 jQuery入门(2)使用jQuery操作元素的属性与样式 jQuery入门(3)事件与事件对象 jQuery入门(4)jQuery中的Ajax应用 一.原始Ajax与jQuery中的Ajax 首先通过实例, 来看一下jQuery实现Ajax有多简单. 下面是一个使用原始Ajax的示例: 01 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "