在我的小服務器上,我有一個名爲/ assign的POST方法。它需要一些表單參數,並返回200成功和其他錯誤代碼,當出現錯誤 - 沒有JSON或HTML或文本或其他任何東西。使用jQuery進行AJAX調用是否必須返回數據?
我用jQuery寫了一個ajax調用。它看起來像這樣:
var formData={};
formData["vm-name"]=$("input#vm-name").val();
formData["vm-address"]=$("input#vm-address").val();
$.ajax({
url: "/api/redirects",
type: "POST",
data: formData,
success: function(){
window.location.href="/current";
},
error: function(data, textStatus, jqXHR){
permitSubmission();
errorMessage(["Network error. Try again."])
}
});
在我的服務器數據被接受,該方法執行,並返回一個200瀏覽器,網絡檢查顯示請求作爲一個200碼返回。但是,總是調用錯誤函數; textStatus變量就像「parseerror」。一些谷歌搜索表明,這是由於無法解析返回的數據(這是有道理的,因爲沒有返回的內容。)
那麼,有沒有辦法忽略內容的缺乏?
編輯:我想能夠沒有返回的內容,不修改服務器,所以它返回JSON或其他東西。
不是一個真正的答案,但我通常會返回「真實」或類似的東西,當我不真的想要返回響應。 – bhamlin
你正在返回的響應類型是什麼?設置dataType爲文本,看看是否奇蹟般地解決了你的問題。 – epascarello
成功:function(){ window.location.href =「/ current」; }改爲成功:function(result){ window.location.href =「/ current」; }?可能會按預期工作 – niko