我正在尝试从客户端向服务器(节点js)发送数据。我正在使用ajax。
客户:
$("#test_button").on("click",function(){
//alert("shit");
$.ajax(
{url: "http://localhost:4000/ajax_check",
async: false,
type: "POST",
data: "{user:balayya,password:hero}",
success: function(result){
alert("hooli");
}});
});
服务器:
var app = require('express')();
var express = require('express');
var http = require('http').Server(app);
http.listen(process.env.PORT || 4000, function() {
console.log('listening on *:4000');
});
app.use(express.static('publuc'));
app.get('/', function(req, res) {
console.log("new entry page serving");
res.sendFile(__dirname + '/main.html');
});
app.post('/ajax_check', function(req, res){
console.log("someone came in here");
console.log(req.query.data);
});
console.log()打印为“未定义”。 在节点js
中从客户端接收发布请求及其数据的正确方法是什么答案 0 :(得分:1)
使用此npm包 - https://www.npmjs.com/package/body-parser
所以服务器站点解析如下: request.body。{some field name}
答案 1 :(得分:0)
试试这样:
$.ajax({
url: "http://localhost:4000/ajax_check",
type: "POST",
data: {
user: "balayya",
password: "hero"
},
success: function(result) {
alert("hooli");
}
});
在服务器上使用req.body.param_name
读取相应的参数值:
app.post('/ajax_check', function(req, res){
console.log("someone came in here");
console.log(req.body.user);
console.log(req.body.password);
});
另请注意,我已从您的AJAX请求中删除了async: false
,因为每当有人将此属性设置为false
时,一只可怜的小猫就会死亡。