我有简单的ajax请求(来自外部服务器的请求)
$.ajax({
type: "POST",
url: "http://localhost:8001/startApps",
data: 'sss',
success: function (data) {
console.log('AllOk');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log('err: '+XMLHttpRequest.status);
}
});
我如何获得这些数据:节点js服务器上的“sss”
app.post('/startApps', function (req,res,next) {
console.log(req.body);//I trying req.data, req.params req.query etc ..
res.send('Ok');
})
答案 0 :(得分:1)
默认情况下,$.ajax
默认为application/x-www-form-urlencoded
作为要发送到服务器的内容类型。在你的情况下,我希望你发送简单的数据。因此,您应该使用contentType
作为text/plain
来发送数据,并将其作为纯文本在服务器上获取。
$.ajax({
type: "POST",
url: "https://localhost:8001/startApps",
data: 'sss',
contentType:'text/plain',
success: function (data) {
console.log('AllOk');
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log('err: '+XMLHttpRequest.status);
}
});
答案 1 :(得分:1)
试试看它是否有效
$.ajax({
type: "POST",
url: "http://localhost:8001/startApps",
data: 'sss',
dataType : "text",
success: function (data) {
console.log(data);
},
error: function(XMLHttpRequest, textStatus, errorThrown) {
console.log('err: '+XMLHttpRequest.status);
}
});
app.post('/startApps', function (req,res,next) {
res.send('Ok');
})
答案 2 :(得分:1)
检查express中的body-parser:
var express = require('express'),
app = express(),
port = parseInt(process.env.PORT, 10) || 8080;
app.configure(function(){
app.use(express.bodyParser());
app.use(app.router);
});
app.listen(port);