如果表单数据包含“=”,Chrome 开发工具会在请求标头中显示时截断表单数据。
我无法在 chrome 开发工具中的查询字符串中看到包含“=”的完整查询参数。 它仅显示到“=”并在其后截断。
Firebug 正确显示了它。 请从 firebug 和 chrome devtools 中查找此处显示的 ajax 片段的屏幕截图。
var qstring = "Hello=Hai"; $.ajax({ 类型:'发布' ,网址:“/cgi-bin/printenv.pl” ,数据:“查询=”+qstring ,数据类型:'xml' ,超时:10000 ,成功:函数(jQuerySuccessData){ } });
对此有任何解决方法吗?
谢谢, 纳迦基兰
I am not able to see the complete query parameter in chrome dev tools in query string contains "=".
It shows only till "=" and truncates there after.
Firebug shows it properly.
Please find the screenshots from firebug and chrome devtools for the ajax snippet shown here.
var qstring = "Hello=Hai"; $.ajax({ type: 'POST' , url: "/cgi-bin/printenv.pl" , data: "query=" + qstring , dataType: 'xml' , timeout: 10000 , success: function(jQuerySuccessData){ } });
Is there any workaround available for this?
Thanks,
Naga Kiran
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您需要对查询字符串进行 urlencode,因为
=
是保留字符。最简单的方法是使用 JavaScript 中的escape
函数。确保您也在另一端进行 urldecode。You need to urlencode the query string as
=
is a reserved character. The easiest way to do this would be theescape
function in javascript. Make sure you urldecode on the other side as well.jQuery Ajax 默认使用 contentType :"application/x-www-form-urlencoded"。
我已覆盖此设置并使用 chrome devtools 中的 javascript 编辑设置为“text/plain”,并显示完整的查询字符串。
jQuery Ajax uses contentType :"application/x-www-form-urlencoded" by default.
I have overriden this setting and set as "text/plain" using javascript edit in chrome devtools and its showing the complete query string.