[英]Unexpected end of JSON input ajax
這是正在發生的事情。 我的 Ajax 代碼中有一個錯誤,導致以下錯誤:
JSON 輸入意外結束 ajax
這是我的代碼:
我通過執行以下操作從數組中獲取數據:
echo json_encode($departTickets);
然后我通過執行以下操作來解析 JSON:
$("[data-department-id]").click(function() {
id = $(this).attr('data-department-id');
$.ajax({
type: 'POST',
data : {
'id' : id
},
url:"/desk/template/fetchtickets.php",
success: function (res) {
var data = jQuery.parseJSON(res);
for (var jsonId in data) {
$('#department_'+id).html(jsonId);
}
}
});
});
根據代碼,可能導致問題的原因是什么?
謝謝你,凱文戴維斯
1 號echo json_encode($departTickets);
您在 json 中編碼數據。
然后解析為AJAX,但是你沒有告訴ajax你的dataType
在json。
所以我們這樣告訴 ajax
$("[data-department-id]").click(function() {
id = $(this).attr('data-department-id');
$.ajax({
type: 'POST',
url:"/desk/template/fetchtickets.php",
dataType: 'json',
data : {
'id' : id
},
success: function (res) {
var data = jQuery.parseJSON(res);
for (var jsonId in data) {
$('#department_'+id).html(jsonId);
}
}
});
});
請注意我如何更改 url 的 position 並將 dataType 放在它下面。
找到了解決辦法。。
首先是我如何找到解決方案。
我使用了以下命令:
echo json_last_error_msg();
然后是數據的編碼問題,所以我做了以下事情:
$departTickets = mb_convert_encoding($departTickets, 'UTF-8', 'UTF-8');
echo json_encode($departTickets);
問題解決了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.