Chrome开发工具会在请求标头中显示时截断表单数据,如果它包含“=”

时间:2011-10-20 14:28:18

标签: google-chrome google-chrome-devtools

我无法在查询字符串中的chrome dev工具中看到完整的查询参数包含“=”。 它仅显示“=”并在之后截断。

Firebug正确显示它。 请在此处显示的ajax片段中找到firebug和chrome devtools的屏幕截图。

    var qstring = "Hello=Hai";

    $.ajax({
        type: 'POST'
        , url: "/cgi-bin/printenv.pl"
        , data: "query=" + qstring
        , dataType: 'xml'
        , timeout: 10000
        , success: function(jQuerySuccessData){
                    }
            });

Firebug shows the complete query parameter

Chrome dev tools doesn't show the complete query parameter

是否有可用的解决方法?

谢谢, Naga Kiran

2 个答案:

答案 0 :(得分:1)

您需要对查询字符串进行urlencode,因为=是保留字符。最简单的方法是使用javascript中的escape函数。确保你也在另一边urldecode。

答案 1 :(得分:0)

jQuery Ajax默认使用contentType:“application / x-www-form-urlencoded”。

                $.ajax({
                    type: 'POST'
                    , url: (isCLI == false ? this.execUiQuery : this.execCli)
                    , data: qstring
                    , dataType: 'xml'
                    , contentType: 'text/plain'
                    , timeout: 10000
                  });

我已覆盖此设置并使用chrome devtools中的javascript编辑设置为“text / plain”,并显示完整的查询字符串。