Ajax getjson 跨域通信 php+jquery

网站A的表单提交部分:

<script type=”text/javascript” src=”jquery-1.4.4.min.js” ></script>
<script type=”text/javascript”>

$(“#myform”).submit(function(){
var name = $(“#name”).val();
var phone = $(“#phone”).val();
$.getJSON(“http://www.siteb.com/do.php?name=” + name + “&phone=” + phone + “&format=json&jsoncallback=?“,
function(data){
if(data.status == ‘ok’){
alert(‘操作成功!’);
}else{
alert(‘操作失败!’);
}
});
return false;
});
</script>

Continue reading

js跨域问题小结

点击下载示例:js_diff_domain.rar

本文来自:http://f2e.me/200904/cross-scripting/

javascript出于安全方面的考虑,是不允许跨域调用其他页面的对象的。但在安全限制的同时也给注入iframe或是ajax应用上带来了不少麻烦。没有记错的话前三届D2论坛上每次都有人提这个东西,这里把涉及到跨域的一些问题简单地整理一下:

首先什么是跨域,简单地理解就是因为javascript同源策略的限制,a.com 域名下的js无法操作b.com或是c.a.com域名下的对象。更详细的说明可以看下表:

URL 说明 是否允许通信
http://www.kuqin.com/lab/a.js
http://www.kuqin.com/script/b.js
同一域名下不同文件夹 允许
http://www.kuqin.com/a.js
http://www.kuqin.com/b.js
同一域名下 允许
http://www.kuqin.com:8000/a.js
http://www.kuqin.com/b.js
同一域名,不同端口 不允许
http://www.kuqin.com/a.js
https://www.kuqin.com/b.js
同一域名,不同协议 不允许
http://www.kuqin.com/a.js
http://70.32.92.74/b.js
域名和域名对应ip 不允许
http://www.kuqin.com/a.js
http://script.kuqin.com/b.js
主域相同,子域不同 不允许
http://www.ithao123.com/a.js
http://www.kuqin.com/b.js
不同域名 不允许

特别注意两点:

第一,如果是协议和端口造成的跨域问题“前台”是无能为力的, Continue reading

Javascript跨域和Ajax跨域解决方案

jax跨域和JS的跨域通信(Cross The Site)的几种解决方案

最近做的一个项目中需要ajax跨域取得数据,如果是在本域中确实没有问题,但是放到二级域和其他域下浏览器直接就弹出提示框:“该页正在访问其控制范围之外的数据,这有些危险,是否继续”

1.什么引起了ajax跨域不能的问题
ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域操作,所以会警告。

2.有什么完美的解决方案么?
没有。解决方案有不少,但是只能是根据自己的实际情况来选择。

具体情况有:
一、本域和子域的相互访问: www.aa.com和book.aa.com
二、本域和其他域的相互访问: www.aa.com和www.bb.com 用 iframe
三、本域和其他域的相互访问: www.aa.com和www.bb.com 用 XMLHttpRequest访问代理
四、本域和其他域的相互访问: www.aa.com和www.bb.com 用 JS创建动态脚本
Continue reading

CrossDomain.xml 作用

使用crossdomain.xml让Flash可以跨域传输数据

本文来自http://www.mzwu.com/article.asp?id=975

一、 概述

位于www.mzwu.com域中的SWF文件要访问www.163.com的文件时,SWF首先会检查163服 务器目录下是否有crossdomain.xml文件,如果没有,则访问不成功;若crossdomain.xml文件存在,且里边设置了允许 www.mzwu.com域访问,那么通信正常。所以要使Flash可以跨域传输数据,其关键就是 crossdomain.xml。 Continue reading