在javascript jsonp回调调用我的服务器之后,我得到了404

时间:2017-06-28 10:45:33

标签: javascript php rest api jsonp

我需要构建一个跨域脚本,我决定使用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天时间,我会感激任何提示。

1 个答案:

答案 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);
}