jQuery ajax调用获取状态为200

时间:2015-10-02 20:52:38

标签: javascript jquery ajax node.js express

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

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!" );
}

我在ajax error回调中获得的error对象如下所示:

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

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

1 个答案:

答案 0 :(得分:3)

哦,傻我。这是我在ajax调用中遇到的datatype。我没有回json,所以它出错了。当我删除它时,一切都有效。