Js 跨域调用问题

原创 2012年03月21日 11:14:41

Javascript出于安全性考虑,是不允许跨域调用其他页面的对象的。因此也就导致了在一些ajax应用中,使用跨域的web service成为问题。

这里整理了一些方法,来解决这个问题:

1.设置document.domain。
前提条件:两个页面同属于一个基础域(例如都是xxx.com,或是xxx.com.cn);同一协议(例如都是http);同一端口(例如都是80)。
方法:设置两个页面的document.domain都设置为自己所在的基础域名。
例子:aaa.xxx.com里面的一个页面需要调用bbb.xxx.com里的一个对象,则将两个页面的document.domain都设置为xxx.com,就可以了。

2.在服务器端设置代理
跨域的请求同样发送到本地服务器端,由服务器端的代理来请求相应的数据,然后发送给浏览器端。这样实际上浏览器端的所有请求都是发到相同的域,在服务器端代理的帮助下,实现了跨域的能力。

3.使用apache服务器的mod_rewrite
http://doc.99net.net/doc/service/1076303865/1076476868.html

4.这边还有一个方法,不过我还没有测试过
http://johnvey.com/features/deliciousdirector/web-service-broker.html

Update:今天吉子提供了一篇文章,讲的比较详细了。
参考这里:http://www.xml.com/pub/a/2005/11/09/fixing-ajax-xmlhttprequest-considered-harmful.html?CMP=OTC-TY3388567169

 

 

 

 

 

js 跨域问题常见的五种解决方式

一、什么是跨域? 要理解跨域问题,就先理解好概念。跨域问题是由于javascript语言安全限制中的同源策略造成的. 简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同...
  • jiangfei009003
  • jiangfei009003
  • 2015年08月28日 17:13
  • 886

javascript跨域的4种方法和原理详解

这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据。只要协议、域名、端口有任何一个不同,都被...
  • u012316120
  • u012316120
  • 2016年07月14日 22:11
  • 717

Js 跨域调用问题

Javascript出于安全性考虑,是不允许跨域调用其他页面的对象的。因此也就导致了在一些ajax应用中,使用跨域的web se...
  • hzfu007
  • hzfu007
  • 2006年10月30日 14:55
  • 1503

JavaScript实现内嵌的iframe跨域调用父页面js方法

源码下载 功能说明:http://www.yf3.com/admin.html嵌套页面http://www.yf4.com/customer.html,http://www.yf4.com/cu...
  • qq285679784
  • qq285679784
  • 2017年06月12日 10:40
  • 3476

js常见跨域问题及解决方法

什么是跨域? 概念:只要协议、域名、端口有任何一个不同,都被当作是不同的域。 URL 说明 是否允许通信 http://www.a.com...
  • s164828378
  • s164828378
  • 2016年10月12日 00:32
  • 1651

cocosjs 使用XMLhttpRequest 跨域问题

服务器后台 设置响应头 “Access-Control-Allow-Origin”值为 请求域名。
  • ganpengjin1
  • ganpengjin1
  • 2017年02月16日 18:00
  • 676

关于在iframe中,跨域调用parent页面的方法的问题

js报错信息:Uncaught SecurityError: Blocked a frame with origin "http://127.0.0.1:8080" from accessing a ...
  • shuaidao_wupengyou
  • shuaidao_wupengyou
  • 2017年06月20日 14:00
  • 1614

解决调用Iframe引入跨域访问页js方法问题

Js跨域问题是web开发人员最常碰到的一个问题之一。所谓js跨域问题,是指在一个域下的页面中通过js访问另一个不同域下的数据对象,出于安全性考虑,几乎所有浏览器都不允许这种跨域访问,这就导致在一些aj...
  • rqgxy
  • rqgxy
  • 2016年12月02日 09:45
  • 1743

WebService-CXF-jQuery跨域访问

通过JS来调用WebService: 通过jQuery的ajax方法向服务器发送xml数据。 必须要先了解xml的数据格式,通过拦截器获取。 •可以从LoggingInInterce...
  • u011417072
  • u011417072
  • 2014年05月16日 19:07
  • 1799

iframe跨域调用问题

iframe框架之间的函数调用 知识点:iframe同域window对象的函数调用,iframe跨域window对象的函数调用。获取页面中iframe中的window对象介于兼容性的问题,推荐使用co...
  • stopllL
  • stopllL
  • 2017年04月11日 19:49
  • 4253
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Js 跨域调用问题
举报原因:
原因补充:

(最多只允许输入30个字)