Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对服务器的AJAX POST请求不工作_Javascript_Ajax_Node.js_Post - Fatal编程技术网

Javascript 对服务器的AJAX POST请求不工作

Javascript 对服务器的AJAX POST请求不工作,javascript,ajax,node.js,post,Javascript,Ajax,Node.js,Post,我正在使用node.js构建一个应用程序,我有以下POST请求: var api = express.Router(); $.ajax({ type: "POST", url: "/api/login/", data: context, success: function(data, status) { console.log('succeeded!!'); }, error

我正在使用node.js构建一个应用程序,我有以下POST请求:

var api = express.Router();

$.ajax({
        type: "POST",
        url: "/api/login/",
        data: context,
        success: function(data, status) {
            console.log('succeeded!!');
        },
        error: function(data, status, res) {
            console.log('error :(');
            console.log(res);
        }
    });
服务器端API:

api.post('/api/login/', function(req, res) {
    console.log('login api hit'); //does not console log
});
问题是服务器没有收到POST请求。我在服务器端通过控制台记录文本进行了检查,但它没有返回任何内容

有人知道会发生什么吗


提前谢谢

也许问题在于ajax调用。尝试通过执行以下脚本来测试服务器:

var http = require('http');

var options = {
  host: '127.0.0.1',
  port: 8080,
  // if it's not localhost, put 'hostname' instead host and port
  //hostname: 'some_url.net',
  path: '/api/login/',
  method: 'POST',
  dataType: 'json'
};

function sendRequest( data ) {
    var req = http.request( options, function( res ) {
        console.log( 'STATUS: ' + res.statusCode );
        //console.log( 'HEADERS: ' + JSON.stringify(res.headers) );
        res.setEncoding( 'utf8' );
        res.on( 'data', function( chunk ) {
            console.log( 'BODY: ' + chunk );
        });
        req.on('error', function( e ) {
            console.log( 'problem with request: ' + e.message );
        });
    });
    // write data to request body
    req.write( JSON.stringify(data) );
    req.end();
}

sendRequest( {"some":"data"} );

希望它能帮助您找出问题所在。

什么是
api
?挂载路由器?你的主应用程序api是我的路由器中间件。我更新了我的问题,加入了它的声明@mscdex浏览器的开发工具说了什么?控制台选项卡中是否有任何消息?你能在“网络”选项卡中看到请求吗?@user1547174你是如何安装
api
路由器的?你在做类似于
app.use('/api',api)
或者
app.use(api)