跨域(Cross-Domain) AJAX for IE8 and IE9

1、有过这样一段代码,是ajax

$.ajax({url: "http://127.0.0.1:9001",type: "POST",data: JSON.stringify({"reqMsg":"12345"}),dataType: 'json',timeout: 1000 * 30,success: function (response) {if(response.n=='6'){dosomething();init();}else if(response.n=='3'){init();}},error: function(xhr, type){init();}});

2、在谷歌、IE11等浏览器测试没有问题,但是碰巧客户现场是IE8,9这种浏览器,内网系统没办法升级。出现跨域ajax请求插件直接error的情况

3、解决方案在github上找到了解决办法,https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest    这个路径下表述了如何解决Cross-Domain AJAX for IE8 and IE9此类问题。

4、首先需要再页面引入 jquery.xdomainrequest.min.js 

<script type="text/javascript" src="<%=basePath%>resources/js/jquery.min-1.9.1.js"></script>
<script type="text/javascript" src="<%=basePath%>resources/js/jquery.xdomainrequest.min.js"></script>

5、然后再正常写ajax之前,加上一句jQuery.support.cors = true;

jQuery.support.cors = true;
$.ajax({url: "http://127.0.0.1:9001",type: "POST",data: JSON.stringify({"reqMsg":"12345"}),dataType: 'json',timeout: 1000 * 30,success: function (response) {if(response.n=='6'){dosomething();init();}else if(response.n=='3'){init();}},error: function(xhr, type){init();}});

6、这样就解决了。最后附上jquery.xdomainrequest.min.js 源码

/*!* jQuery-ajaxTransport-XDomainRequest - v1.0.3 - 2014-06-06* https://github.com/MoonScript/jQuery-ajaxTransport-XDomainRequest* Copyright (c) 2014 Jason Moon (@JSONMOON)* Licensed MIT (/blob/master/LICENSE.txt)*/
(function(a){if(typeof define==='function'&&define.amd){define(['jquery'],a)}else if(typeof exports==='object'){module.exports=a(require('jquery'))}else{a(jQuery)}}(function($){if($.support.cors||!$.ajaxTransport||!window.XDomainRequest){return}var n=/^https?:\/\//i;var o=/^get|post$/i;var p=new RegExp('^'+location.protocol,'i');$.ajaxTransport('* text html xml json',function(j,k,l){if(!j.crossDomain||!j.async||!o.test(j.type)||!n.test(j.url)||!p.test(j.url)){return}var m=null;return{send:function(f,g){var h='';var i=(k.dataType||'').toLowerCase();m=new XDomainRequest();if(/^\d+$/.test(k.timeout)){m.timeout=k.timeout}m.ontimeout=function(){g(500,'timeout')};m.οnlοad=function(){var a='Content-Length: '+m.responseText.length+'\r\nContent-Type: '+m.contentType;var b={code:200,message:'success'};var c={text:m.responseText};try{if(i==='html'||/text\/html/i.test(m.contentType)){c.html=m.responseText}else if(i==='json'||(i!=='text'&&/\/json/i.test(m.contentType))){try{c.json=$.parseJSON(m.responseText)}catch(e){b.code=500;b.message='parseerror'}}else if(i==='xml'||(i!=='text'&&/\/xml/i.test(m.contentType))){var d=new ActiveXObject('Microsoft.XMLDOM');d.async=false;try{d.loadXML(m.responseText)}catch(e){d=undefined}if(!d||!d.documentElement||d.getElementsByTagName('parsererror').length){b.code=500;b.message='parseerror';throw'Invalid XML: '+m.responseText;}c.xml=d}}catch(parseMessage){throw parseMessage;}finally{g(b.code,b.message,c,a)}};m.οnprοgress=function(){};m.οnerrοr=function(){g(500,'error',{text:m.responseText})};if(k.data){h=($.type(k.data)==='string')?k.data:$.param(k.data)}m.open(j.type,j.url);m.send(h)},abort:function(){if(m){m.abort()}}}})}));

 

转载于:https://www.cnblogs.com/city-light/p/10598550.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/249343.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

移动WEB的页面布局

随着移动互联网的日益普遍&#xff0c;现在移动版本的web应用也应用而生&#xff0c;那么在做移动web页面布局的过程中&#xff0c;应该注意哪些要点呢&#xff1f;现把个人的一些学习经验总结如下&#xff1a; 要点一、piexl 1px 2dp dp dpr dpi ppi 要点二、viewport io…

AnswerOpenCV(1001-1007)一周佳作欣赏

外国不过十一&#xff0c;所以利用十一假期&#xff0c;看看他们都在干什么。一、小白问题http://answers.opencv.org/question/199987/contour-single-blob-with-multiple-object/ Contour Single blob with multiple objectHi to everyone. Im developing an object shape id…

Mysql 开启远程连接

在日常的数据库的使用过程&#xff0c;往往会因为连接权限的问题搞得我们焦头烂额&#xff0c;今天我把我们在数据库连接上的几个误区简单做个记录。内容如下&#xff1a; 误区一&#xff1a;MYSQL密码和数据库密码的区别 mysql密码是我们在安装mysql服务是设置的密码&#xf…

基于jsp+servlet完成的用户注册

思考 &#xff1a; 需要创建实体类吗? 需要创建表吗 |----User 存在、不需要创建了&#xff01;表同理、也不需要了 1.设计dao接口 package cn.javabs.usermanager.dao;import cn.javabs.usermanager.entity.User;/*** 用户的dao接口的设计* author Mryang**/ public interfa…

vue resource then

https://www.cnblogs.com/chenhuichao/p/8308993.html

云开发创建云函数

安装wx-server-sdk时候&#xff0c;终端报错如下&#xff1a; 解决方法&#xff1a; 运行&#xff1a;npm cache clean --force即可 转载于:https://www.cnblogs.com/moguzi12345/p/9758842.html

Java8新特性——函数式接口

目录 一、介绍 二、示例 &#xff08;一&#xff09;Consumer 源码解析 测试示例 &#xff08;二&#xff09;Comparator &#xff08;三&#xff09;Predicate 三、应用 四、总结 一、介绍 FunctionalInterface是一种信息注解类型&#xff0c;用于指明接口类型声明…

CSS3笔记之基础篇(一)边框

效果一、圆角效果 border-radius 实心上半圆&#xff1a; 方法&#xff1a;把高度(height)设为宽度&#xff08;width&#xff09;的一半&#xff0c;并且只设置左上角和右上角的半径与元素的高度一致&#xff08;大于也是可以的&#xff09;。 div {height:50px;/*是width…

JavaSE之Java基础(1)

1、为什么重写equals还要重写hashcode 首先equals与hashcode间的关系是这样的&#xff1a; 1、如果两个对象相同&#xff08;即用equals比较返回true&#xff09;&#xff0c;那么它们的hashCode值一定要相同&#xff1b; 2、如果两个对象的hashCode相同&#xff0c;它们并不一…

bootstarp table

https://www.cnblogs.com/laowangc/p/8875526.html

高级组件——弹出式菜单JPopupMenu

弹出式菜单JPopupMenu&#xff0c;需要用到鼠标事件。MouseListener必须要实现所有接口&#xff0c;MouseAdapter是类&#xff0c;只写你关心的方法&#xff0c;即MouseAdapter实现了MouseListener中的方法 import javax.swing.*; import java.awt.*; import java.awt.event.Mo…

CSS3笔记之基础篇(二)颜色和渐变色彩

效果一、颜色之RGBA RGB是一种色彩标准&#xff0c;是由红(R)、绿(G)、蓝(B)的变化以及相互叠加来得到各式各样的颜色。RGBA是在RGB的基础上增加了控制alpha透明度的参数。 语法&#xff1a; color&#xff1a;rgba(R,G,B,A) 以上R、G、B三个参数&#xff0c;正整数值的取值…

19_03_26校内训练[魔法卡片]

题意 有n张有序的卡片&#xff0c;每张卡片上恰有[1,m]中的每一个数&#xff0c;数字写在正面或反面。每次询问区间[l,r]&#xff0c;你可以将卡片上下颠倒&#xff0c;问区间中数字在卡片上方的并的平方和最大是多少。q,n*m≤1,000,000。 思考 一个很重要的性质&#xff0c;若…

vue 静态图片引入

https://blog.csdn.net/weixin_33862188/article/details/93325502

c:if test=/c:if 使用

1、页面引用<%taglib uri"http://java.sun.com/jsp/jstl/core" prefix"c"%> 2、整形判断&#xff1a; <c:if test"${TEST 1}"> </c:if> 3、判断非空&#xff1a; <c:if test"${empty TEST}"> TEST为空 <…

CSS3笔记之基础篇(三)文字与字体

要点一、text-overflow与word-wrap text-overflow&#xff1a;设置是否使用一个省略标记&#xff08;...&#xff09;标示对象内文本的溢出。 word-wrap&#xff1a;设置文本行为&#xff0c;当前行超过指定容器的边界时是否断开转行。 语法如下&#xff1a; 注意&#xff1…

XV6操作系统代码阅读心得(二):进程

1. 进程的基本概念 从抽象的意义来说&#xff0c;进程是指一个正在运行的程序的实例&#xff0c;而线程是一个CPU指令执行流的最小单位。进程是操作系统资源分配的最小单位&#xff0c;线程是操作系统中调度的最小单位。从实现的角度上讲&#xff0c;XV6系统中只实现了进程&…

webservices

https://blog.csdn.net/VitaminZH/article/details/81123571

.Net Core 商城微服务项目系列(十二):使用k8s部署商城服务

一、简介 本篇我们将会把商城的服务部署到k8s中&#xff0c;同时变化的还有以下两个地方&#xff1a; 1.不再使用Consul做服务的注册和发现&#xff0c;转而使用k8s-dns来实现。 2.不再使用Ocelot作为业务网关&#xff0c;使用Traefik来实现。 正如上面所讲&#xff0c;服务发现…

HTML、CSS知识点总结,浅显易懂。

一&#xff0c;htmlcss基础 1-1 Html和CSS的关系 学习web前端开发基础技术需要掌握&#xff1a;HTML、CSS、JavaScript语言。下面我们就来了解下这三门技术都是用来实现什么的&#xff1a; 1. HTML是网页内容的载体。内容就是网页制作者放在页面上想要让用户浏览的信息&#xf…