我想使用 Ajax 发出请求,但当我意识到域不同时,我决定改用 JSON。
编码:
主 PHP 文件(脚本代码)
$(".name").click(function(){
//Get information
var id = $(this).attr("id").substring(1);
jQuery.getJSON("https:/otherdomain.com/makereq.php?id="+id+"&callback=?",
function(data) {
alert("id: " + data.id);
return false;
});
});
Makereq PHP 文件
$jsonData = array('id'=>$_GET['id']);
echo $_GET['callback'] . '(' . json_encode($jsonData) . ');';
这在 Firefox 中运行良好。我得到数据,警报显示发送和接收的 id。但是在 Internet Explorer 中,会出现一个安全错误,指出内容已被阻止且未接收到数据。在 Chrome 中,它也不起作用。
为什么会发生这种情况或我做错了什么?是否有任何解决方案可以在没有来自其他域的浏览器错误/警报的情况下发送和接收数据?