【发布时间】:2023-03-05 05:07:02
【问题描述】:
我有一个文本文件,其中的详细信息按以下格式存储:
Hayden:Australia:200:7800:45
Lara:West Indies:204:10800:47
Gilchrist:Australia:100:12800:45
我的php代码是这样的
<?php
$fields = array("name","country","matches","runs","centuries");
$file = fopen("players.txt", "r");
$count = 0;
$finalArr = array();
while($players=fgets($file))
{
$players = trim($players);
$temparr = array();
$arr = explode(":",$players);
//echo $arr;
for($i=0; $i<count($arr); $i++)
{
$temparr[$fields[$i]] = $arr[i];
}
$finalArr[$count] = $temparr;
$count++;
}
fclose($file);
$return = json_encode($finalArr);
echo $return;
?>
当我尝试使用 JSON.parse 访问它时,我收到此错误:Uncaught SyntaxError: Unexpected token <
这是我的 HTML 端代码:
if(xhr.readyState==4 && xhr.status==200)
{
var players = JSON.parse(xhr.responseText);
alert(players);
}
我哪里出错了?
【问题讨论】:
-
您是否使用 JSONLint 或其他服务验证过您的 JSON?
-
在回显 json 编码之前可能会输出一些东西
-
查看浏览器开发人员外观的“网络”选项卡。你得到的输出不是你所期望的。
-
脚本是否有
.php扩展名?听起来服务器没有运行脚本,而只是将其原始返回。 -
如果您直接访问 ajax URL,请检查浏览器控制台中的 Network 选项卡,或者只是
console.log(xhr.responseText),响应文本是什么样的?
标签: javascript php html json web