jquery中调用ajax用jsonp方法可以成功解决跨域问题
在第一个域名的页面肯定包含一个远程的JS
<script type="text/javascript" src="http://check.js"></script>
第二个域名中的check.js
function getcode(){
$.ajax({
type : 'POST',
url : 'http:sendcode.php',//这里一定要用绝对路径
dataType : 'jsonp', //数据类型为jsonp
success: function(data){
alert(data.data);
}
});
}
sendcode.php
<!--?php
//简单用用例子说下如何对返回值进行处理
if(true){
//符合条件,某个方法获取到激活码$code = "KSGGOOD";
$code = "KSGGOOD";
exit($_POST['callback'] .'('.json_encode(array('status'=-->2, 'data'=>"您获取的激活码为:" . $code)).')');
} else {
exit($_GET['callback'] .'('.json_encode(array('status'=>2, 'data'=>'请先快速注册!')).')');
}
注:1 返回的数据一定要为json格式
当然jquery也提供了JSON数据的跨域问题的解决方法,当然我的理解还是比较浅显的,这里(http://www.ibm.com/developerworks/cn/web/wa-aj-jsonp1/#json_jsonp)有比较详细的解释。有兴趣的同学可以看下。