我有這樣的代碼:AJAX JSON意外的標記「
$.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)
它讓我看到 '{ 」代碼「:123}',在第二個警報alert(data.code)
,它告訴我undefined
,在第三條提示alert(hey.code)
中,它顯示我123
,這就是我想要的,但在第四條提示中,控制檯告訴我Uncaught SyntaxError: Unexpected token '
。
當我改變JSON.parse
到$.parseJSON
,它完全一樣的東西。
我不知道什麼是錯的,json很好(和var中的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是無效的,可以肯定的檢查[這裏](http://jsonlint.com/) – Hatsjoem
我已經檢查過了,它與var hey中的json完全一樣。 – bhc11
請發佈json。 – Hatsjoem