我目前正在尝试使用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"]
似乎无法弄清楚发生了什么。
您似乎正在尝试通过文件系统发送请求。您正在获取原始源代码,因为服务器/PHP不会解析您的文件。
如果您通过文件系统(例如file://some/path/test.html
)打开页面,则请求也会通过文件系统发送。要么从服务器打开页面,要么需要指定完全限定的位置。即在您的情况下,类似于http://localhost/api.php
.