解决跨站点XMLHttp请求的一个变通方法

2016-02-19 20:02 11 1 收藏

今天图老师小编给大家展示的是解决跨站点XMLHttp请求的一个变通方法,精心挑选的内容希望大家多多支持、多多分享,喜欢就赶紧get哦!

【 tulaoshi.com - Web开发 】

用户在打了IE的最新补丁后,IE默认配置下,使用 XMLHttp 将无法跨站点访问,比如在 http://community.csdn.net/ 的页面就无法访问 http://message.csdn.net/ 的页面。会报如下错误:

---------------------------
错误
---------------------------
出现了运行时间错误。
是否要进行调试?

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

行: 49
错误: 拒绝访问。
---------------------------
是(Y) 否(N)
---------------------------

解决方法之一:
原理,使用下面的方式调用脚本,是可以跨网站的:
script id=message language=javascript src="******************"/script

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

于是乎,我们可以用下面的代码方式实现跨网站的脚本调用。进而变通的实现 XMLHttp 所无法跨网站的调用。

var Url = "http://message.csdn.net/********":
var ScriptName = "CheckUserHasNewMessage";

var head= document.getElementsByTagName("head").item(0);
var old = document.getElementById(ScriptName);
if (old) head.removeChild(old);

var script = document.createElement("SCRIPT");
script.src = Url;
script.defer = true;
script.type = "text/javascript";
script.id = ScriptName;
head.appendChild(script);

这个脚本要求被调用方,返回的是 JS 脚本。你可以在调用方事先写一些函数,然后被调用返回这些函数的调用。
以上方法在最前版本的 IE、FireFox 默认设置下均没问题。。

来源:http://www.tulaoshi.com/n/20160219/1622573.html

延伸阅读
标签: Web开发
通过XMLHTTP进行一次指定的HEAD请求: html head script type="text/javascript" var xmlhttp; function loadXMLDoc(url) { xmlhttp=null; if (window.XMLHttpRequest)   {// all modern browsers   xmlhttp=new XMLHttpRequest();   } else if (window.ActiveXObject)   {// for IE5, IE6   xmlhttp=n...
标签: Web开发
这几天脑细胞剩下的不多了,不过问题都一个个解决了。 我希望搜索引擎能够搜索到这篇文章,给正在需要解决此类问题的朋友分享我的解决方案。 例如 a.com站点通过ajax访问聚合b.com站点内的RSS(xml)资源,这是跨域访问不能实现,网上我也查阅了大量的资料,没有找到有效的办法,有些变通的方法都必须具有b.com站点的...
标签: 设计
我们在做每一个设计的时候,都应该计划能够解决一个问题。喜欢讨论商业模式的人会称呼其为卖点,而对创作的人而言,这就是产品的价值所在。 在整个设计的过程中,我们会进行很多情景假设,但是无论最后的成果如何,我们首先考虑的最应该是我们成功解决了么。 感性的功能设计 vRS Mega Man-Pram是斯柯达随着第三代明锐vRS一起发布的一款婴儿...
标签: Web开发
这篇文章将会探讨一下在网页里做异步的跨域请求,以及借助iframe来获取数据的方法。 呃,本来我觉得这个话题没什么好说的了,因为如今好像没有几个web应用能离开这类request,google和facebook用iframe来做comet的时候也基本上把能hack的都hack遍了,所以我估计开发者社区里应该早就形成所谓的最佳实践(best practices)了罢。不过最近看到...
标签: Web开发
现在方法有下面这几种: Application Proxies : 这种必须通过后台脚本,比如PHP等,实质就是用Ajax读触发本地PHP,然后用PHP读外部文件,并返回给Ajax显示 Script Tag Hack, or On-Demand JavaScript : 一样,要通过后台脚本 Apache Proxy : 这种方法是在Apache服务器中配置 apache's mod_rewrite or mod_proxy : 和上面一样,通过...

经验教程

618

收藏

16
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部