2015-10-02 4 views
-3

Я отправил запрос jQuery ajax на мой экспресс-сервер node.js, который обработал его успешно и ответил. Тем не менее, ответ запускает обратный вызов ajax error вместо обратного вызова success (несмотря на то, что код состояния равен «200»). Этого я не ожидал. ; О) Вот мой код: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 объект, который я получаю в AJAX error обратного вызова выглядит следующим образом:

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

Любая идея, почему она вызывает обратный вызов error?

+0

Хм ... Я не уверен, что согласен с вашей оценкой. Проблема, безусловно, может быть воспроизведена, и это была не типографская ошибка, которая вызывала мои проблемы, это было несоответствие между запрошенным типом данных и тем, что было возвращено. На мой взгляд, пометить такие вопросы препятствует людям отправлять сообщения, потому что они боятся получить «ваш вопрос немой». Когда я нашел решение, я оставил свой пост (который я мог бы удалить), если он был полезен любому в будущем. Такой пост был бы полезен для меня, если бы он уже существовал. – Eric

ответ

3

О, глупо меня. Это datatype, что и у меня на вызове ajax. Я не возвращал json, так что он ошибся. Все работало, когда я удалил это.

Смежные вопросы