Javascript不在Firefox中发送帖子参数

时间:2015-02-06 15:27:53

标签: javascript jquery firefox post

我有以下js函数将post请求发送回主索引页面。此脚本在Chrome中有效,但在仍然回发到页面时不会在firefox中发送任何参数。我在检查firefox中的页面后通过网络选项卡验证这一点。

function addDrive(ans){
    $.post("index.php", {add_drive: ans });
    location.reload();
}

通过点击我放在我页面上的按钮来调用此函数:

<button onClick="addDrive('y')">Add Drive</button>

我过去曾使用类似的功能,这些功能同时适用于firefox和chrome,我只是想弄清楚为什么这在Firefox中不起作用。

2 个答案:

答案 0 :(得分:1)

我的建议是做这样的事情:

function addDrive(ans) {
  $.post("index.php", {add_drive: ans}).then(function() {
    location.reload();
  });
}

这将确保您仅在成功完成发布请求后重新加载页面。如果您愿意,也可以提供success处理程序,而不是使用此promises API。您也可以在always处理程序中执行相同的操作,以确保即使请求失败也会重新加载页面,但这对您的要求是主观的。

但是,我认为这根本不是一个好习惯,如果你必须重新加载页面,你可以只有一个表单并发布,而不是尝试使用jquery处理程序发布。您可以在javascript中执行类似form.submit()的操作并提交表单,只要表单上的方法设置为&#39; POST&#39;,就可以通过帖子请求在表单中提交数据。 ,这样你就不必手动重新加载页面了,你可以从服务器端那样做。

答案 1 :(得分:0)

尝试在成功发布后重新加载您的网页:

$.post("index.php", {add_drive: ans}).done(function( data ) {
    location.reload();
});