将JSON数据从我的客户端发送到运行express的节点服务器时,我遇到了问题。
这是一个简单的服务器,演示了我的问题:
var express = require('express'); var app = express(); app.configure(function(){ app.use(express.bodyParser()); app.use(app.router); app.use(express.logger()); }); app.listen(80); app.post('/', function(req,res){ console.log(req.body); console.log(req.body.number + 1); });
此服务器只是将所有POST数据记录到控制台。
如果我然后将以下内容粘贴到chrome的开发控制台中: $.post('/', {number:1});
服务器打印出来:
{ number: '1' } 11
如何阻止我传递的数字被解释为字符串? 这与我正在使用的bodyParser中间件有关吗?
任何帮助赞赏!!
$.post
发送url编码的数据,所以真正发送的是number=1
,然后由bodyParser中间件解析它。
要发送json,您必须使用JSON.stringify({number:1})
。
遗憾的是,使用$.post
将不会设置相应的Content-Type
标头(Express仍会处理它),因此最好使用:
$.ajax({ url: '/', type: 'POST', contentType: 'application/json', data: JSON.stringify({number:1})} )
以上就是jQuery教程分享发布json以表达使用jQuery相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/jquerytutorial/547600.html