我目前正在尝试使用Ajax在javascript中使用我的php数组。即使我有json编码数组,设置php内容类型和ajax数据类型,它看起来像javascript仍然试图处理我的PHP脚本而不是它输出的json。这是因为我总是得到一个'意外的令牌<'错误(我的PHP脚本的开头)。
这是我的ajax:
$.ajax({
type: 'GET',
cache: false,
url: 'api.php',
dataType: "json",
error: function(jqXHR, textStatus, errorThrown) {alert(errorThrown);},
success: function(data) {
alert(data);}
});
这是我的php(文件名是api.php):
<?php
header('Content-Type: application/json');
$aliases = array('angry','birds');
echo json_encode($aliases);
?>
我知道我的php会输出正确的json格式,因为当我在浏览器中运行它时,输出为["angry","birds"]
似乎无法弄清楚发生了什么。
答案 0 :(得分:1)
您似乎正在尝试通过文件系统发送请求。您将获得原始源代码,因为服务器/ PHP不会解析您的文件。
如果您是通过文件系统打开页面(例如file://some/path/test.html
),那么请求也会通过文件系统发送。您可以从服务器打开页面,也可以指定完整的合格位置。即在你的情况下像http://localhost/api.php
。