我正在尝试找出 Node.js 作为 api 来执行 GET、POST 等操作。我一直在试图找出为什么这篇文章不起作用。
我的ajax调用:
$.ajax({
method: "POST",
contentType: 'application/json',
dataType: 'json',
url: "localhost:8000/login",
data: JSON.stringify({user:"john", pass:"123"}),
error: function () {
alert('error');
},
success: function (data) {
alert('success');
}
});
用我的话说:
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.post('/login', function (req, res) {
var user = req.body.user;
var password = req.body.pass;
if(user == 'john' && password == '123') {
res.status(200);
} else {
res.status(401);
}
});
app.listen(8000, function () {
console.log('Example app listening on port 8000!');
});
非常感谢任何帮助。
最佳答案
您应该从您的快速代码中返回一些响应,并且响应也应该结束,特别是在仅发送状态代码(例如 res.status(401);
app.post('/login', function (req, res) {
var user = req.body.user;
var password = req.body.pass;
if(user == 'john' && password == '123') {
res.status(200).json({t:1});
} else {
res.status(401);
}
res.end();
});
关于javascript - ExpressJS 似乎不适用于 ajax 调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43153490/