我正在使用AJAX打擊struts動作,一切都很好,但Firefox有問題,當我在URL中傳遞參數作爲請求參數和如果該參數在最後包含散列(#)符號,則firefox將刪除該符號之後的所有內容,並將該參數發送到沒有它的動作。在Firefox中不工作的請求參數中傳遞「#」哈希符號
例如,如果我在Firefox中傳遞test123#abcd,那麼我只會在action123中得到test123,而不是test123#abcd,這對我的需求來說是不可取的。對於IE來說它工作的很完美。我可以在Firefox中提取包含#符號的完整參數。
請讓我知道如果我需要發佈的Java操作代碼也謝謝。
JS片斷
var valuePassword=test123#abcd;
var url = "/test/ChangePwdAjax.do?newPass="+valuePassword;
var xmlHTTP = getXMLHTTPRequest();
原因是你必須編碼你的數據。哈希(#)在這裏是無效的,哈希以及後面的所有內容都不應該離開您的瀏覽器 – Onkelborg
我個人會鏈接到[本文檔](https://developer.mozilla.org/en-US/ docs/JavaScript/Reference/Global_Objects/encodeURIComponent)而不是w3schools(它們傾向於生成子文檔)。 –
Thankyou所有,它的工作原理,早些時候我受到我的思想過程的限制,因爲在IE中它工作正常。我也想知道爲什麼兩個瀏覽器行爲不同,我同意URL查詢字符串必須編碼。謝謝 – user1697113