jQuery ajax 调用获取状态为 200 的错误响应

Eri*_*ric 1 javascript ajax jquery node.js express

我向我的 express 驱动的 node.js 服务器发送了一个 jQuery ajax 请求,该服务器成功处理并响应。但是,响应会触发 ajaxerror回调而不是success回调(尽管状态代码为“200”)。那不是我所期望的。;o) 这是我的代码:

客户端.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 );
    }
} );
Run Code Online (Sandbox Code Playgroud)

服务器.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!" );
}
Run Code Online (Sandbox Code Playgroud)

error我在 ajaxerror回调中得到的对象如下所示:

{readyState: 4, responseText: "Done!", status: 200, statusText: "OK"}
Run Code Online (Sandbox Code Playgroud)

知道为什么会触发error回调吗?

Eri*_*ric 6

哦,愚蠢的我。这datatype是我在 ajax 调用中的那个。我没有返回 json,所以它出错了。当我删除它时,一切正常。