2015-10-02 96 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,所以它错了。一切工作,当我删除。

相关问题