2011-10-20 17 views
0

我無法在查詢字符串中包含「=」查看chrome開發工具中的完整查詢參數。 它只顯示到「=」並在那裏截斷。Chrome開發工具會在請求標題中顯示時截斷表單數據,如果其中包含「=」

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

是否有可用於此的任何解決方法嗎?

感謝, 娜迦基蘭

回答

1

您需要的URLEncode查詢字符串作爲=是保留字符。最簡單的方法是使用javascript中的escape函數。確保你在另一邊也有urldecode。

+0

在查看生產服務器的ajax請求時,我無權修改代碼。是「=」是保留字符,但Firebug正確處理它。在Chrome開發工具中是否有任何解決方法,比如某些配置設置來處理這個問題而不修改代碼 –

+0

我認爲不存在。他們爲什麼要實施這種轉換?你的內容類型是'application/x-www-form-urlencoded',你沒有提供這種內容類型的字符串,調試工具可以自由地做任何他們想要的。 – Femaref

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 
        }); 

我已經重寫此設置,並設置爲「text/plain的」使用鉻devtools的JavaScript編輯和顯示完整的查詢字符串。

相關問題