奇葩问题,ajax发送post请求,服务端req.body接收不到数据!
发布于 7 年前 作者 JarvisQJ 3969 次浏览 来自 问答

之前版本可以接收数据,现在的版本接收不到。经过比对,代码都一样啊。着急!!! 前端代码如下: $.ajax({ url: “/app/getVerifiCodeWhenReset”, type: “post”, data: { phoneNo: phoneNo }, dataType: “json”, success: function (result) { if (result.errcode == 0) { //$(’#getit’).prepend(result.verificode); $(’#getitreset’).html(result.verificode); }else if(result.errcode!=0){ $(’#getitreset’).html(result.errmsg); } }, error:function(){ alert(“err”); } });

	服务端接收直接用的req.body
8 回复

where is 代码?

服务端使用的模块版本有变化?那就看看版本升级说明

http协议通讯全过程,先直接给req添加一个handler,分成两半慢慢查,请叫我雷锋,不谢

感觉是服务器代码问题,这段客户端代码看不出什么

@DevinXian 现在已经锁定是js某个引入文件出了问题,或者是jquery的

@sanrudongfeng 能说详细点吗,直接打印req根本看不懂

接收不到说明没有传过去

问题解决经过:找到之前没有出问题的版本,一个一个替换文件,发现引入的jquery文件出了问题,直接替换整个jquery文件就行了。 另外,附上另一个req.body接收不到内容问题的解决办法。 通过远程抓包发现请求头content-type设置为text/plain; charset=UTF-8,而express应用生成器生成的模板中没有带这中text类型请求的解析。这时会出现req.body接收不到内容。在app.js中加入app.use(bodyParser.text());即可。

回到顶部