【发布时间】:2013-04-10 22:56:16
【问题描述】:
我正在尝试启用外部资源以向我的服务器发出 GET 请求。现在我只是在我的个人服务器上通过godaddy托管来测试它。这可能是个问题吗?
我在尝试向其发出请求的页面上有以下代码
//page.php
<?php
header("Content-Type: application/json")
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET');
include_once 'php_dom/simple_html_dom.php';
include_once 'phpQuery.php';
if(isset($_GET['item'])){
echo json_encode(array("data" => $_GET['item']));
}
else{
echo json_encode(array("Error"=>"No item provided"));
}
我尝试发出这样的请求(显然是我的 URL),但我没有收到任何回复。
$.getJSON("http://www.example.com/page.php?item=123&format=json&callback=?", function(data) {
alert(data);
});
Chrome 开发者显示一个成功的请求,但没有返回任何内容。我做错了什么吗?
【问题讨论】:
-
为了测试,添加
else {echo json_encode(array("Error"=>"No item provided"));}。另外,不要忘记设置适当的 Content-Type 标头...header("Content-Type: application/json")这至少应该确定是否正在调用脚本并且这是一个逻辑错误,或者您是否没有得到任何响应。顺便说一句,网络选项卡是否显示带有空正文的 http 200 响应或??? -
您从什么来源发出请求?是来自本地文件还是其他服务器?
-
我正在本地主机上运行服务器,向我的“实际”服务器发出请求。
-
@Basic 我更新了上面的代码。还是什么都没有。