当前位置:编程学习 > JS >>

ajax跨域

ajax的跨域访问除了用iframe解决还有别的方法么。

还有,像mp3.baidu和zhidao.baidu算跨域么。比如百度的MP3频道也会有知道什么的东西。用ajax算跨域么。

追问:哥们方便把

“还有,像mp3.baidu和zhidao.baidu算跨域么。比如百度的MP3频道也会有知道什么的东西。用ajax算跨域么。”解释下么

答案:如果两个域下的Web应用程序你都可以控制, 那你可以用"On-Demand JavaScript"方式来模拟。原理是在通过document.createElement("script")来创建一个script 标记并对其src设置为

http://www.callee-domain.com/service.page?method=GetPostCount&page=3&callback=GetPostCountCallback

 

之类的格式, 然后在被调用域指向的服务器上的service.page(这个文件名自己定,根据不同的编程语言,扩展名可能不一样)中通过判断页面参数调用不同的方法并返回结果,返回结果要用javascript进行编码,并执行调用。

如(ASP.Net/C#):

Response.Write(Request.QueryString["callback"] + "(" + count + ");");

如果count为100则最后输出为: GetPostCountCallback(100);

 

如果你不能控制被调用域, 那你就不能写这个service.page, 以上方法就不行了, 你可以在自己的域上写个代理,然后用AJAX调用你自己的域上的代理服务方法, 代理服务再调用被调用域上的服务, 并把结果返回给AJAX调用。

楼上说的是对的 利用新建 <script> 来达到跨域 GOOGLE地图 也是用这种方法

上一个:ajax注册问题
下一个:ajax是什么

CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,