我試圖找回從我的數據庫信息,並在顯示的jQuery生成的表中的信息的意外結束。我曾經這樣做過,並使用完全相同的代碼它不工作了。我擡頭一看一下這幾款其他問題,但他們都不給我一個答案。 情況是這樣的:一個用戶從選擇菜單中選擇一個值,通過選擇一個值,這個值被髮送和用於檢索正確的數據在正確的關鍵。然後,通過按下一個按鈕,該數據應該會出現在表中。爲了做到這一點,我使用了3個Ajax調用,一個用於填充選擇框,一個用於發送正確的值,另一個用於檢索所需的數據。前兩個完美的工作,但不是最後一個。 我的瀏覽器接收到的數據(見下文),但該表沒有出現,我得到一個錯誤「JSON輸入意外結束」。任何人都可以幫我解決這個問題嗎?jQuery的 - parsererror - JSON輸入
HTML出錯的阿賈克斯/ jQuery的:
function BekijkGegevens() {
$.ajax({
type: 'GET'
, data: {}
, dataType: 'json'
, url: "https://projectmi3.000webhostapp.com/webservices/bekijk.php"
, success: function (rows) {
$('#output').append("<table><tr><th> datum</th><th>stand</th></tr>")
for (var i in rows) {
var row = rows[i];
var datum = row[1];
var stand = row[0];
$('#output').append("<tr><td>" + datum + "</td><td>" + stand + "</td></tr>");
}
$('#output').append("</table>");
}
, error: function (JQXHR, TextStatus, ErrorThrow) {
console.log(JQXHR);
console.log(TextStatus);
console.log(ErrorThrow);
}
})
}
PHP:
<?php
include_once('confi.php');
error_reporting(E_ALL);
if (isset($_POST['teller']))
{
$teller = mysqli_real_escape_string($conn,$_POST['teller']);
$sql2="SELECT sta_stand,sta_datum FROM stand WHERE teller_id = '$teller'";
$result = $conn -> query($sql2);
//$query2 = mysql_query($sql2) or trigger_error(mysql_error()." ".$sql2);
$data2=array();
while ($row = mysqli_fetch_row($result))
{
$data2[]=$row;
}
echo "{data:" .json_encode($data2). "}" ;
}
?>
感謝您的幫助,您可以提供。
編輯:忘了把我的瀏覽器網絡,在這裏。 http://puu.sh/uzI4f/a9ed1e0be5.png
編輯2:我已經將PHP腳本分成兩個獨立的文件,並嘗試使用會話變量傳遞所需的密鑰,如評論中所建議的。但我仍然遇到同樣的錯誤。在此兩個新PHP文件: 這一個是用於從Jquery的發送鍵,PHP:
<?php
include_once('confi.php');
error_reporting(E_ALL);
session_start();
if (isset($_POST['teller']))
{
$teller = mysqli_real_escape_string($conn,$_POST['teller']);
$_SESSION['teller'] = $teller;
}
?>
這一個是用於獲取所需的信息:
<?php
include_once('confi.php');
error_reporting(E_ALL);
session_start();
if (isset($_SESSION['teller']))
{
$sql2='SELECT sta_stand,sta_datum FROM stand WHERE teller_id ="' .$_SESSION['teller'].'"' ;
$result = $conn -> query($sql2);
//$query2 = mysql_query($sql2) or trigger_error(mysql_error()." ".$sql2);
$data2=array();
while ($row = $result-> fetch_row())
{
$data2[]=$row;
}
echo json_encode($data2);
}
?>
如果你在成功回調中使用'console.log(rows)',你會看到數據嗎? –
聽起來像你的JSON是無效的。查看網絡標籤中的請求,看看你有什麼。 – epascarello
您正在打印破碎的json。 '{data:'缺少引號。 – tkausl