Javascript 不在 Firefox 中发送 post 参数
Javascript not sending post parameters in Firefox
我有以下 js 函数,可将 post 请求发送回主索引页面。此脚本在 Chrome 中运行,但在 post 返回页面时未在 firefox 中发送任何参数。在 firefox 中检查页面后,我正在通过网络选项卡对此进行验证。
function addDrive(ans){
$.post("index.php", {add_drive: ans });
location.reload();
}
此函数是通过我放置在页面上的按钮上的 onClick 调用的:
<button onClick="addDrive('y')">Add Drive</button>
我过去使用过类似的功能,这些功能对 firefox 和 chrome 都有效,但我只是想不通为什么这在 firefox 中不起作用。
成功后尝试重新加载您的页面post:
$.post("index.php", {add_drive: ans}).done(function( data ) {
location.reload();
});
我的建议是这样做:
function addDrive(ans) {
$.post("index.php", {add_drive: ans}).then(function() {
location.reload();
});
}
这将确保您仅在成功完成 post 请求后才重新加载页面。如果您愿意而不是使用此承诺 API,您也可以提供一个 success
处理程序。您也可以在 always
处理程序中执行相同的操作,以确保即使请求失败也会重新加载页面,但这取决于您的要求。
但是,我认为这根本不是一个好的做法,如果您必须重新加载页面,您可以只使用一个表单 post 而不是尝试 post 使用 jquery 处理程序。您可以在 javascript 中执行类似 form.submit()
的操作,这将提交表单,并且只要表单上的方法设置为,它就会通过 post 请求提交表单中的数据'POST',这样您就不必手动重新加载页面,您可以从服务器端执行此操作。
我有以下 js 函数,可将 post 请求发送回主索引页面。此脚本在 Chrome 中运行,但在 post 返回页面时未在 firefox 中发送任何参数。在 firefox 中检查页面后,我正在通过网络选项卡对此进行验证。
function addDrive(ans){
$.post("index.php", {add_drive: ans });
location.reload();
}
此函数是通过我放置在页面上的按钮上的 onClick 调用的:
<button onClick="addDrive('y')">Add Drive</button>
我过去使用过类似的功能,这些功能对 firefox 和 chrome 都有效,但我只是想不通为什么这在 firefox 中不起作用。
成功后尝试重新加载您的页面post:
$.post("index.php", {add_drive: ans}).done(function( data ) {
location.reload();
});
我的建议是这样做:
function addDrive(ans) {
$.post("index.php", {add_drive: ans}).then(function() {
location.reload();
});
}
这将确保您仅在成功完成 post 请求后才重新加载页面。如果您愿意而不是使用此承诺 API,您也可以提供一个 success
处理程序。您也可以在 always
处理程序中执行相同的操作,以确保即使请求失败也会重新加载页面,但这取决于您的要求。
但是,我认为这根本不是一个好的做法,如果您必须重新加载页面,您可以只使用一个表单 post 而不是尝试 post 使用 jquery 处理程序。您可以在 javascript 中执行类似 form.submit()
的操作,这将提交表单,并且只要表单上的方法设置为,它就会通过 post 请求提交表单中的数据'POST',这样您就不必手动重新加载页面,您可以从服务器端执行此操作。