node ajax提交数据到后台,node后台ajax数据传输问题

Node.js与Ajax交互问题解析
本文探讨了在Node.js中使用Express处理POST请求时遇到的数据解析问题。当使用不同的数据格式(如JSON、字符串、FormData)通过Ajax发送时,后台接收到的数据表现不一致。示例代码展示了如何正确处理各种数据类型,并强调了contentType设置的重要性。

node路由

router.post('/',(req,res)=>{

console.log(req.body,1);

res.json({name:1,age:3})

});

javascript代码

function ajax(options){

let {url,success} = options,

type = options.type || 'GET',

data = options.data || null,

contentType = options.contentType || 'application/x-www-form-urlencoded';

let req = new XMLHttpRequest();

req.open(type,url,true);

if(/^POST$/i.test(type)) req.setRequestHeader('Content-Type',contentType);

req.onreadystatechange = function(){

console.log(req.status,req.readyState);

if(req.readyState === 4 && req.status === 200){

success && success(req.response);

}

}

req.send(data);

}

ajax({

url:'/aaa',

type:'post',

data:{"a":1,"b":2},

success:(data)=>{

console.log(data);

}

});

data是 {"a":1,"b":2}

后台输出 { 'object Object': '' } 1

data是 "abc"

后台输出 { abc: '' } 1

data是

var formData = new FormData();

formData.append('a',1);

后台输出

{ '------WebKitFormBoundaryhR4KppDAZDAMRtnj\r\nContent-Disposition: form-data; name': '"a"\r\n\r\n1\r\n------WebKitFormBoundaryhR4KppDAZDAMRtnj--\r\n' } 1

这是什么问题?平常都是用的jquery的ajax传的没什么事。

后台向前台传数据可以正常接受

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值