簡體   English   中英

JSON 輸入意外結束 ajax

[英]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.

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