2015-10-02 118 views
-3

我向我的express-powered node.js服務器發送了一個jQuery ajax請求,該服務器已成功處理並響應。但是,響應會觸發ajax error回調而不是success回調(儘管狀態碼爲「200」)。那不是我期待的。 ; O)這裏是我的代碼:jQuery ajax調用獲取狀態爲200的錯誤響應

client.js:

$.ajax({ 
    url: "/httpUpload", 
    type: "POST", 
    processData: false, 
    contentType: false, 
    dataType : "json", 
    data: formData, 
    success: function() { 
     // Do stuff 
    }, 
    error: function(error) { 
     console.error("HttpUpload failed: " + error.responseText); 
    } 
}); 

server.js:

var express = require("express"); 
var app = express(); 
var server = require("http").Server(app); 
var multipart = require('connect-multiparty'); 

app.use(express.static("public")); 
app.use(multipart()); 

app.post("/httpUpload", function(req, res) { 
    console.log("Received post request"); 
    res.send("Done!"); 
} 

error對象,我在阿賈克斯error回調看起來像這樣得到:

{readyState: 4, responseText: "Done!", status: 200, statusText: "OK"} 

任何想法爲什麼它會觸發error回調?

+0

嗯......我不確定我是否同意你的評估。問題當然仍然可以複製,並且這不是導致我的問題的印刷錯誤,而是所請求的數據類型與返回的內容之間的不匹配。在我看來,標記這些問題會阻止人們發佈信息,因爲他們害怕得到「你的問題是愚蠢的」手掌。當我找到解決方案時,我離開了我的帖子(我可以刪除它),以防將來對任何人有幫助。如果這個帖子已經存在,這對我來說會很有幫助。 – Eric

回答

3

哦,傻我。這是我在ajax調用上的datatype。我沒有返回json,所以它錯了。一切工作,當我刪除。

相關問題