我一直在尝试向外部服务器发出 AJAX 请求。 到目前为止,我了解到出于安全原因我需要使用 getJSON 来执行此操作?
现在,我似乎无法对外部页面进行简单的调用。 我试图尽可能地简化它,但它仍然无法正常工作。 我有 2 个文件,test.html 和 test.php
我的 test.html 像这样调用本地主机进行测试:
$.getJSON("http://localhost/OutVoice/services/test.php", function(json){
alert("JSON Data: " + json);
});
我希望我的 test.php 返回一个简单的“测试”:
$results = "test";
echo json_encode($results);
我可能犯了一些令人难以置信的菜鸟错误,但我似乎无法弄清楚。 此外,如果这可行,我如何将数据发送到我的 test.php 页面,就像您希望的那样 test.php?id=15 ?
test.html 页面正在本地主机上调用 test.php 页面,同一目录 我没有收到任何错误,只是没有警报 ..
最佳答案
可能是您没有在 test.php 中获得回调。此外,json_encode
只接受一个数组:
$results = array("key" => "value");
echo $_GET['callback'] . '(' . json_encode($results) . ')';
// the callback stuff is only needed if you're requesting from different domains
当您使用 http://
时,jQuery 会自动切换到 JSONP(即使用脚本标签而不是 XMLHttpRequest
)。如果您在同一个域中有 test.html 和 test.php,请尝试使用相对路径(并且不要回调)。
关于php - jQuery getJSON 到外部 PHP 页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/790910/