例如,我有一个2域" http://domain1.com/info.php"另一个是" http://domain2.com/script.html"
现在是第一个域" http://domain1.com/info.php"正在发布像这样的json编码数据
{
"str_info": [
{
"str_name": "Mark",
"str_age": "22"
},
{
"str_name": "Aliza",
"str_age": "52"
}
]
}
第二个域" http://domain2.com/script.html"确实是检索和操纵第一个域给出的数据。
我不知道如何连接和检索来自第一个域的数据,即" http://domain1.com/info.php"到第二个域是脚本。 那么请你告诉我如何使用jsonp,jquery,ajax
答案 0 :(得分:0)
使用回调函数(例如
)发送数据callback({
"str_info":[{"str_name":"Mark","str_age":"22"},{"str_name":"Aliza","str_age":"52"}]
});
然后在接收数据的域上使用函数
<script>
function callback(i){
//maniputlate i (json data) here
}
</script>
<script type="text/javascript" src="http://domain1.com/info.php"/>
答案 1 :(得分:0)
来自jQuery.org
由于浏览器安全限制,大多数“Ajax”请求都是主题 同源政策;请求无法成功检索 来自不同域,子域或协议的数据。
脚本和JSONP请求不受相同的原始策略限制。
如果正在使用跨域,您可以使用名为JSONP的方法
ajax请求添加参数?callback=callbackname
,服务器回答
callbackname
(
{
"str_info": [
{
"str_name": "Mark",
"str_age": "22"
},
{
"str_name": "Aliza",
"str_age": "52"
}
]
}
);
然后在您的客户端上执行该功能。 您可以使用jQuery来完成此操作非常简单
$.getJSON("http://domain1.com/info.php?callback=?", function(data) {
alert("success");
});
在PHP中你可以像这样包装你的结果(简单例子)
echo $_GET['callback'], '(' , json_encode( $data ), ')';