【发布时间】:2017-08-23 16:50:22
【问题描述】:
server.js:
var express = require('express');
var app = express();
loggedIn = {};
app.use('/',express.static('www')); // static files
app.listen(8080, function () {
console.log('Port 8080!');
});
app.get('/user', function(req, res) {
if (typeof req.param('user') != 'undefined') {
user = req.param('user');
res.status(200).send('Works');
}
});
app.post('/user', function(req, res) {
user = req.param('user');
if (typeof users[user] != 'undefined') {
return res.status(405).send('Access Forbidden');
} else {
loggedIn[user] = "";
res.status(201).send('New User');
}
}
});
client.js 请求:
$.ajax({
method: "GET",
url: "/user",
data: {"user" : user},
dataType: "application/json",
success: function(data) {
// success
},
error: function() {
// error case
}
});
$.ajax({
method: "POST",
url: "/user",
data: {"user" : user},
dataType: "application/json",
success: function(data) {
// success
},
error: function() {
// error case
}
});
即使 GET 请求完全按预期工作并在此处传递参数,但由于某种原因,post 请求没有。在萤火虫中,我注意到 POST 请求没有收到任何参数(POST 用户),而 GET 请求(GET 用户?用户 = XYZ)。我现在真的很茫然。
【问题讨论】:
标签: javascript json node.js ajax express