Javascript PHP API JSON响应

Javascript PHP API JSON响应,javascript,php,jquery,json,ajax,Javascript,Php,Jquery,Json,Ajax,我构建了一个非常简单的JSON响应来测试来自移动设备的AJAX请求 我设置了一个local domain test.local并打印一个json响应 header("Content-Type:application/json; charset=utf-8"); echo json_encode(array('name' => 'Julio', 'city' => 'Miami')); 如果我使用浏览器访问,我会得到: 但如果我使用AJAX请求进行访问,它会输出“null” $.aj

我构建了一个非常简单的JSON响应来测试来自移动设备的AJAX请求

我设置了一个local domain test.local并打印一个json响应

header("Content-Type:application/json; charset=utf-8");
echo json_encode(array('name' => 'Julio', 'city' => 'Miami'));
如果我使用浏览器访问,我会得到:

但如果我使用AJAX请求进行访问,它会输出“null”

$.ajax({
    type:     "GET",
    url:      "test.local",
    dataType: "json",
    success: function(data) {
        alert(data.name + " " + data.city);
    }
});
如果我将AJAX请求中的URL更改为
工作正常。

您拥有的URL是相对的,脚本正在尝试访问
/path/to/script/test。本地
/
添加到开头或放置
http://test.local
使其成为绝对值

$.ajax({
键入:“获取”,
url:“http://test.local",
数据类型:“json”,
成功:功能(数据){
警报(data.name+“”+data.city);
}
});


对我有效。

您拥有的URL是相对的,脚本正在尝试访问
/path/to/script/test。本地
/
添加到开头或放置
http://test.local
使其成为绝对值

$.ajax({
键入:“获取”,
url:“http://test.local",
数据类型:“json”,
成功:功能(数据){
警报(data.name+“”+data.city);
}
});



对我有用。

如果您删除
数据类型会发生什么?您是否尝试将完整URL用作
http://test.local
?在使用
标题(…)之前,是否输出任何内容(即
var\u dump
/
print
?@Dagon我试图删除数据类型,但它没有做任何事情。@EdwinKrause我试图添加完整的URL,但什么也没有发生。如果删除
数据类型,会发生什么?是否尝试将完整的URL用作
http://test.local
?在使用
标题(…)之前,是否输出任何内容(即
var\u dump
/
print
?@Dagon我尝试删除数据类型,但它没有做任何事情。@EdwinKrause我尝试添加完整的URL,但什么都没有发生。我尝试了。但它不打印任何内容。如果没有http://prints null,则http://prints为空。Chrome或Firefox中的网络选项卡显示了什么响应?我正在从运行在另一台计算机上的模拟器设备访问“API”正在响应。那有关系吗?With.com域正在工作,.local域不工作。现在,我从承载API的si所在的同一台计算机上再次运行了它,并且它正常工作。您的开发环境可能是罪魁祸首。如果我理解正确,您正在使用VMware Player之类的工具访问主机上运行的PHP页面?在这种情况下,test.local主机名需要指向主机的IP地址。你需要在hosts文件中设置,我试过了。但它不打印任何内容。如果没有http://prints null,则http://prints为空。Chrome或Firefox中的网络选项卡显示了什么响应?我正在从运行在另一台计算机上的模拟器设备访问“API”正在响应。那有关系吗?With.com域正在工作,.local域不工作。现在,我从承载API的si所在的同一台计算机上再次运行了它,并且它正常工作。您的开发环境可能是罪魁祸首。如果我理解正确,您正在使用VMware Player之类的工具访问主机上运行的PHP页面?在这种情况下,test.local主机名需要指向主机的IP地址。您需要在hosts文件中进行设置。
$.ajax({
    type:     "GET",
    url:      "test.local",
    dataType: "json",
    success: function(data) {
        alert(data.name + " " + data.city);
    }
});