未捕获的语法错误:意外的令牌<在第1行

时间:2014-12-11 14:50:08

标签: javascript php html json web

我有一个文本文件,其中包含以下格式存储的详细信息:

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);
            }

我哪里错了?

1 个答案:

答案 0 :(得分:0)

由于缺少$ in

,您的代码会在打印JSON输出之前产生大量警告
$temparr[$fields[$i]] = $arr[i];

,其中

$arr[i] 

应该是

$arr[$i]