[英]Javascript not sending post parameters in Firefox
我有以下js函數,可將發布請求發送回主索引頁面。 該腳本可在Chrome中運行,但在發回頁面時仍無法在firefox中發送任何參數。 在檢查Firefox中的頁面后,我將通過“網絡”標簽進行驗證。
function addDrive(ans){
$.post("index.php", {add_drive: ans });
location.reload();
}
通過我在頁面上放置的按鈕上的onClick調用此函數:
<button onClick="addDrive('y')">Add Drive</button>
過去我曾經使用過適用於Firefox和chrome的類似功能,但我無法弄清楚為什么它在Firefox中不起作用。
我的建議是做這樣的事情:
function addDrive(ans) {
$.post("index.php", {add_drive: ans}).then(function() {
location.reload();
});
}
這樣可以確保僅在成功完成發布請求后才重新加載頁面。 如果您願意,也可以提供success
處理程序,而不是使用此promises API。 你也可以做同樣的在always
處理程序,以確保即使請求失敗,但是這將是主觀您的要求它重新加載頁面。
但是,我認為這根本不是一種好的做法,如果您必須重新加載頁面,則可以只擁有一個表單並將其發布,而不是嘗試使用jquery處理程序進行發布。 您可以在javascript中執行諸如form.submit()
,並且只要表單上的方法設置為“ POST”,就可以通過郵寄請求提交表單並通過表單提交數據。您不必手動重新加載頁面,您可以從服務器端進行重新加載。
成功發布后,嘗試重新加載頁面:
$.post("index.php", {add_drive: ans}).done(function( data ) {
location.reload();
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.