簡體   English   中英

SyntaxError: Unexpected token < in JSON at position 0" 錯誤在 AJAX

[英]SyntaxError: Unexpected token < in JSON at position 0” error in AJAX

我通過ajax請求發送數據,處理完數據后返回一個數組,該數組被編碼為json格式。

$response = array(
            'data' => $leaveData,
            'message' => 'Event added successfully',
            'status' => 'success'
        );
echo json_encode($response);
exit;

其中$leaveData是一個關聯數組:

   Array
(
    [id] => 131
    [user_id] => 134
    [leave_type_id] => 2
    [issued_date] => 2017-10-17
    [leave_from] => 2017-10-25
    [leave_to] => 2017-10-26
    [leave_description] => test
    [leave_status] => 1
)

這是我的ajax請求:

$.ajax({
url:"leave/request",
data:{
  id:eventID,
  user_id:empID,
  leave_type:leaveType,
},
  type:"POST",
  cache:false,
  success: function (data, resp){
    var json = data, 
    obj = JSON && JSON.parse(json) || $.parseJSON(json);
  }
});

另外,我認為JSON && JSON.parse(json) || $.parseJSON(json) JSON && JSON.parse(json) || $.parseJSON(json)用於相同的目的?

我不知道出了什么問題。

不久前我遇到了同樣的問題,問題出在我試圖拉入成功回調的數據中,我只是刪除了靜態變量,因此我試圖進入 json 並嚴格保持其值僅從查詢結果。 也許對你來說也是一樣。

您可以使用 ajax dataType屬性在 ajax 響應后直接解釋 JSON,例如:

$.ajax({
    url:"leave/request",
    dataType: "json",
    data:{
        id:eventID,
        user_id:empID,
        leave_type:leaveType,
    },
    type:"POST",
    cache:false,
    success: function (data){
        console.log(data);
    }
});

向您的 ajax 函數添加一個“錯誤”回調,然后打印內容:

  error: function(data) {
      console.log("AJAX ERROR:", data);
  }

這將向您展示 ajax 試圖解析為 json 的內容。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM