JSON.parse引发意外的令牌错误

用户名

当我尝试解析多个JSON对象时,JSON.parse引发“意外令牌”错误。我以前使用过这种方法,但是仅在数组涉及一行查询结果时才使用。

任何帮助将不胜感激。谢谢

错误

Uncaught SyntaxError: Unexpected token {

JavaScript

if(window.XMLHttpRequest){
    var request = new XMLHttpRequest();
    } else {
    var request = new ActiveXObject(microsoft.XMLHTTP);
    }
    request.open('POST', 'controllers/engineersOutput.php', true);
    request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
        request.onreadystatechange = function(){
        if((request.readyState==4) && (request.status==200 || request.status==304)) {

        var str = request.responseText;
        var data = JSON.parse(str);

        console.log(data);

        }
    }
    request.send();

的PHP

public function getEngineerDetails(){
        include "connect.php";
        $query = "SELECT * FROM `engineers`";
        $result = mysqli_query($con, $query);
        while($row=mysqli_fetch_assoc($result)){

            $name = $row['name'];
            $pic =  $row['pic'];
            $insertedEngs = array( "name"=>$name, "pic"=>$pic );
            echo json_encode($insertedEngs);
        }

    }
凯文

从服务器创建的JSON字符串很可能由于您创建它的方式而格式错误。

不要在循环内构造JSON字符串,而是先构造并完成数组,然后再编码:

public function getEngineerDetails() {

    include "connect.php";
    $query = "SELECT * FROM `engineers`";
    $result = mysqli_query($con, $query);

    // define a container first
    $data = array();

    while($row = mysqli_fetch_assoc($result)){
        // while inside the loop
        // construct the array first
        $insertedEngs = array("name" => $row['name'], "pic" => $row['pic']);

        $data[] = $insertedEngs; // continually push 
    }

    // then encode output when done
    echo json_encode($data);

}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

JSON.parse引发意外的令牌错误

来自分类Dev

JSON.parse()意外令牌错误

来自分类Dev

json.parse意外令牌错误

来自分类Dev

Node.js JSON.parse意外令牌错误

来自分类Dev

Ruby on Rails JSON.parse“意外令牌”错误

来自分类Dev

JSON.parse意外令牌

来自分类Dev

JSON解析:意外的令牌错误

来自分类Dev

Javascript JSON.Parse方法无法处理干净的JSON数据-语法错误意外令牌

来自分类Dev

AWS Lambda Parse JSON(意外令牌)

来自分类Dev

意外的令牌:u JSON.parse()问题

来自分类Dev

JSON.parse()返回意外令牌

来自分类Dev

JSON.parse 返回意外令牌

来自分类Dev

Firebase JSON导入错误意外令牌“:”

来自分类Dev

与JSON相关的错误:意外的令牌o

来自分类Dev

json解析错误意外令牌o

来自分类Dev

JSON,语法错误:意外的令牌I(...)

来自分类Dev

Sinatra 错误 -- JSON::ParserError - 784:意外令牌

来自分类Dev

为什么Newrelic Ruby Agent引发“ JSON中的意外令牌<”

来自分类Dev

Babel / browserify引发“解析JSON时出错-意外令牌o”

来自分类Dev

JSON.parse()期间JSON中出现意外令牌

来自分类Dev

json_encode JSON.parse意外令牌<

来自分类Dev

JSON.parse()期间JSON中出现意外令牌

来自分类Dev

JSON.Parse,'未捕获的SyntaxError:意外的令牌o

来自分类Dev

JSON.parse Uncaught SyntaxError:意外令牌o

来自分类Dev

SyntaxError:JSON.parse中的意外令牌t

来自分类Dev

Uncaught SyntaxError:JSON.parse上的意外令牌o

来自分类Dev

JSON.parse字符串-意外令牌

来自分类Dev

Uncaught SyntaxError:意外的令牌o- JSON.Parse

来自分类Dev

Node.js JSON.parse“意外令牌{”