所以我在首页有这一行:
var x = "Hi";
var y = 123;
xhttp.open("POST", "/toNodeServer", true);
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(x, y);
在服务器中,我有以下内容:
outer.post('/toNodeServer', function(req, res, next){
var x = req.body
console.log(x);
所以结果是它不发送y值,我是从终端得到的: {'嗨':”}
任何人都可以解释发生了什么以及如何发送这两个变量吗?
答案 0 :(得分:1)
XMLHttpRequest.send(body) 仅采用 1 参数。
您需要发布JSON或发送经过url编码的字符串(或任何其他序列化的字符串)
JSON
def Remove(duplicate):
final_list = [] # make an empty list
for num in duplicate: # iterate over the given list
if num not in final_list: # if number is not in the list, push it to the list.
final_list.append(num)
return final_list
x-www-form-urlencoded
xhttp.setRequestHeader("Content-type", "application/json");
xhttp.send(JSON.stringify({ x: x, y: y}));
如果您要发送xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xhttp.send(`x=${x}&y=${y}`);
,请不要忘记添加:
JSON
然后您将可以通过以下方式访问它:
app.use(bodyParser.json());
app.use(bodyParser.urlencoded());
或使用解构:
const x = req.body.x;
const y = req.body.y;