输入意外结束 JSON.parse(PHP、JSON、jQuery.post、数据库)
Unexpected end of input JSON.parse (PHP, JSON, jQuery.post, database)
我有一个 php 文件,它创建一个 json 并将其传递给 javascript
<?php
$index = 0;
$connection = mysql_connect(*secret*,*secret*,*secret*);
mysql_select_db("sql7150348");
$query =mysql_query("SELECT * FROM statements");
while ($row = mysql_fetch_assoc($query)) {
$array[$index] = $row;
$index++;
}
echo json_encode($array);
然后我用 $.post
收到这个数据
[{
"Titel": "Begroting",
"Text": "In crisistijden mag de Vlaamse begroting in het rood gaan",
"Voor": "spa",
"Tegen": "vld",
"PuntVoor": 0,
"PuntTegen": 0
}]
$.post('../php/getFromDatabase.php', function () {}).done(function (data) {
console.log(JSON.parse(data));
});
但我总是收到此错误(大约 console.log(JSON.parse(data));
)
Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse ()
at Object.success (script.js:20)
at i (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at A (jquery.min.js:4)
at XMLHttpRequest. (jquery.min.js:4)
我做错了什么导致出现这个错误?
客户端无法识别服务器收到的响应类型。指定响应类型 JSON
应该可以解决这个问题。
$.post('../php/getFromDatabase.php', function () {}).done(function (data) {
console.log(data);
}, "json");
我有一个 php 文件,它创建一个 json 并将其传递给 javascript
<?php
$index = 0;
$connection = mysql_connect(*secret*,*secret*,*secret*);
mysql_select_db("sql7150348");
$query =mysql_query("SELECT * FROM statements");
while ($row = mysql_fetch_assoc($query)) {
$array[$index] = $row;
$index++;
}
echo json_encode($array);
然后我用 $.post
收到这个数据[{
"Titel": "Begroting",
"Text": "In crisistijden mag de Vlaamse begroting in het rood gaan",
"Voor": "spa",
"Tegen": "vld",
"PuntVoor": 0,
"PuntTegen": 0
}]
$.post('../php/getFromDatabase.php', function () {}).done(function (data) {
console.log(JSON.parse(data));
});
但我总是收到此错误(大约 console.log(JSON.parse(data));
)
Uncaught SyntaxError: Unexpected end of JSON input
at JSON.parse ()
at Object.success (script.js:20)
at i (jquery.min.js:2)
at Object.fireWith [as resolveWith] (jquery.min.js:2)
at A (jquery.min.js:4)
at XMLHttpRequest. (jquery.min.js:4)
我做错了什么导致出现这个错误?
客户端无法识别服务器收到的响应类型。指定响应类型 JSON
应该可以解决这个问题。
$.post('../php/getFromDatabase.php', function () {}).done(function (data) {
console.log(data);
}, "json");