簡體   English   中英

jQuery ajax-即使成功運行也會運行錯誤

[英]jQuery ajax - error runs even though it ran successfully

我將以下代碼作為我的.ajax部分的aprt

success: function (data) {
    alert("success");
},
error: function(xhr, ajaxOptions, thrownError) {
    alert(xhr.status);
}

第一個警報永遠不會運行,但是可以使用以下方式正確提交數據:

data: JSON.stringify({ "solution": JSON.stringify(data) }),  // Data is HTML

實際上,第二個警報的狀態為200,並且通過Google Chrome控制台顯示的一切都很好。

任何想法? 完整代碼:

var request = jQuery.ajax({
    url: "/answers/"+content_id,
    type: "POST",
    data: JSON.stringify({ "solution": data }),
    dataType: "json",
    headers: {
        Authorization: 'Basic XXX',
        'X-HTTP-Method-Override': 'PATCH',
        'Content-Type': 'application/json'
    },
    success: function (data) {
        alert("success");
    },
    error: function(xhr, ajaxOptions, thrownError) {
         alert(xhr.status);
      }
});

$ .ajax函數期望JSON數據作為響應。 如果響應不是JSON,則將調用錯誤回調。 請查看您從服務器發送的內容。

請測試一些事情:

  1. 設置type: "GET"而不是發布。 看一下: GET或POST

  2. 標頭數據是字符串(名稱/值),也許您的數據編碼是utf8,所以設置為

     headers: { 'Authorization': 'Basic XXX', //high recommended 'X-HTTP-Method-Override': 'PATCH', 'Content-Type': "application/json; charset=utf-8" //low }, 
  3. 測試另一個詞而不是數據,以避免沖突:

     success: function (response) 

暫無
暫無

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

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