gpt4 book ai didi

javascript - AJAX json 意外标记'

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:47:34 26 4
gpt4 key购买 nike

我有这个代码:

    $.ajax({
dataType: 'text',
url: '/_/js/answers.json',
type: "GET",
success: function (data) {
alert(data);
alert(data.code);
var result = JSON.parse(data);
var hey = JSON.parse('{"code": 123}');
alert(hey.code);
alert(result.code);
},
error: function () {
alert("code not found");
}
});

在第一个警报 alert(data) 中,它向我显示“{"code": 123}',在第二个警报 alert(data.code) 中,它告诉我 undefined,在第三个警报 alert(hey.code) 中,它告诉我 123,这就是我想要的,但是在第四个警报,控制台告诉我 Uncaught SyntaxError: Unexpected token '
当我将 JSON.parse 更改为 $.parseJSON 时,它会执行完全相同的操作。
不知道怎么回事,json没问题(和var hey里面的json一模一样)。

我像这样将 json 传递给服务器:javascript:

var json = {code: code};
json = JSON.stringify(json);
json = {data: json};

$.ajax({
url: "/_/js/write-json.php",
type: "POST",
dataType: 'json',
data: json
});

php:

    <?php
$myFile = "answers.json";
$fh = fopen($myFile, 'w') or die("can't open file");
fwrite($fh,var_export($_POST['data'], true));
fclose($fh);
?>

谢谢,bhc11。

最佳答案

JSON 周围的 ' 字符使其成为 JavaScript 字符串,但不构成数据的一部分。

看起来您在通过 HTTP 请求的 JSON 中包含这些字符,因此它们确实构成了数据的一部分。

这不是有效的 JSON。删除引号。

你应该:

{"code": 123}

不是

'{"code": 123}'

关于javascript - AJAX json 意外标记',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23172903/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com