我需要构建一个跨域脚本,我决定使用jsonp而不是CORS(我发现它更容易)
这是我的JS客户端代码:
function logResults(json){
alert(json);
}
$.ajax({
url: "https://my-server-domain.com/api_gt/test/new2.php",
dataType: "jsonp",
jsonpCallback: "logResults"
});
这是我的PHP代码(new2.php)
<?php
$arr = array ('a'=>1,'b'=>2,'c'=>3,'d'=>4,'e'=>5);
echo json_encode($arr); // {"a":1,"b":2,"c":3,"d":4,"e":5}
?>
当我执行此操作时,我得到了 https://my-server-domain.com/api_gt/test/new2.phpcallback=logResults&_=1498645452001 返回404(未找到)
但是当我呼吁:https://api.github.com/users/jeresig而不是https://my-server-domain.com/api_gt/test/new2.php时,一切都很好。
注意:当我输入https://my-server-domain.com/api_gt/test/new2.php时,我会看到返回的json,因为我应该(因此代码正常工作)
我错过了什么吗? 也许我在服务器端遗漏了一些东西,例如某种标题? 也许我的json有问题吗?
我已经花了2天时间,我会感激任何提示。
答案 0 :(得分:0)
jQuery.ajax({
type: "POST",
"dataSrc": "Data",
url: "https://my-server-domain.com/api_gt/test/new2.php",
dataType: 'json',
success: function(res) {
logResults(res);
}
});
function logResults(json){
alert(json);
}