-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
无法通过this.ctx.request.body获取完整的POST数据 #1977
Comments
看下 jquery 的代码,还有 devTool 里面的 network |
看过,没感觉有什么问题,如下:
Response
|
jquery代码应该也没有问题,我修改了array中每个元素的大小,现在jquery侧输出的array长度是52,但是在egg侧输出的长度是26 |
koa-bodyparser需要作为plugin来显式配置引入吗? |
修改配置如下后,可以完整读取POST数据
通过排除,我确认是 parameterLimit: 10000, 最终起了作用,这是什么道理? 虽然可用了,但感觉用法似乎有些怪异,万一姿势不对就怕哪天爆发了,请帮忙看看~~ |
因为你是通过 改为 post formdata 或 json 的方式吧 |
多谢!附上最终代码 config.default.js
plugin.js
matches.js
jQuery.ajax
|
data 应该不需要自己 stringify 的, jq 会自己处理的 |
|
泪奔, 像找到亲人的赶脚! 我会告诉你,我调试这个问题已经快怀疑人生了吗 明明dataType是json,但是会变成urlencoded 数组100 接收死活就变少了 好吧,终于找到问题, 还好快放弃的时候换着关键词搜了一把这里. 留贴, 纪念! |
$.ajax印象里也是会处理的不过要加个类似 |
多谢各位! |
解决我的问题了,多谢! |
|
说得没错,可是问题是为什么 |
因为安全问题,默认不会解析那么长的 URL 的,避免攻击,有需要自己配置,上面有提到了。 |
@atian25 这个我知道,post数据在body里面和url好像没什么关系吧。 |
估计 content type 是 x-www-form-urlencoded,但 data 又是 json 吧 |
@popomore @atian25 1、x-www-form-urlencoded方式的请求就算是JSON。JQ内部会将其转化为key-value的形式。(key1=value1&key2=value2)
|
单独提问给出重现代码吧 |
Hello @fanttm. Please provide a reproducible example following the instruction. Issues labeled by 如果在 7 天内没有进展会被自动关闭。 |
使用jQuery发起POST请求,发送array数据到egg服务,从浏览器控制台中查看,明明发送的array长度是100,但是在egg controller中打印出this.ctx.request.body,却只有48;我已经修改了bodyParser的配置,还是不行,难道要改成Stream读取吗?
app/controller/matches.js
config.default.js
The text was updated successfully, but these errors were encountered: