javascript
  • json
  • ajax
  • 2016-08-18 87 views 1 likes 
    1

    我使用AJAX替代的長處和發送串someString到PHP處理程序JSON.stringify用空格

    xmlHttp.open("POST", url, true); 
    var someString = 'Foo+Bar'; 
    var params = 'operation='+operation+'&json='+JSON.stringify(someString); 
    xmlHttp.send(params); 
    

    如果someString包含 '+' 它用空間代替。正如我可以讀到的,這是JSON.stringify的正常工作,但我怎樣才能獲得加號(僅限JS)

    第二個問題是用JSON.stringify替換了哪些其他符號?

    回答

    7

    這與JSON.stringify無關。

    +轉換爲由服務器上的URL解析器完成。 A +是您可以在URL中表示空格的另一種方式(另一種是%20)。

    要轉換文本以便安全插入URL,請使用encodeURIComponent

    +0

    對不起,愚蠢的問題...即使我使用** xmlHttp.open(「POST」,url,true)**,而不是GET? – ilyatom

    +1

    @ilyatom - 一個URL是一個URL,所以是的。 (如果你的意思是你會發送請求正文中的數據,那麼服務器用於解析發佈數據的默認編碼與URL相同)。 – Quentin

    相關問題