如何避免在Firefox中刷新页面?在Firefox中不起作用

时间:2019-02-04 16:44:01

标签: javascript java ajax jsp firefox

我正在调用href和onclick函数,在onclick函数中,我正在调用AJAX函数。由于页面重新加载,AJAX功能在Firefox中无法使用。我该如何解决这个问题?下面显示了在href中调用控制器方法和在onclick中调用AJAX函数的按钮。

<a ref="${pageContext.request.contextPath}/DepartmentUser/departmentUserLoginJnlp?userId=${userId}&var=sign&siteName=${siteName}">
    <button class="btn btn-primary btn-sm themebutton captureSign" type="button" id="captureSign" onclick="ajaxAsyncRequest()">Capture Signing Certificate Details</button>
</a>

2 个答案:

答案 0 :(得分:0)

更改

onclick =“ ajaxAsyncRequest()”

onclick =“ ajaxAsyncRequest();返回false;”

答案 1 :(得分:0)

页面导航后,所有正在运行的脚本都将停止,并且AJAX调用将被取消。如果要完成AJAX调用,则需要将导航延迟到完成为止。嵌套在<button>元素中的<a>对此不起作用。

如果可以选择,我建议将href调用放在AJAX函数中,并放下标签。如果需要用jsp填写的URL,请将其放在隐藏字段中。

类似这样的事情(使用jQuery):

<button ... onClick="ajaxSyncRequest()">...</button>
<input type="hidden" id="myNextUrl" value="${pageContext.request.contextPath}/DepartmentUser/departmentUserLoginJnlp?userId=${userId}&var=sign&siteName=${siteName}"/>
<script>
function ajaxSyncRequest() {
  $.ajax({
    ...
    onSuccess: function () {
      window.location.href = $("#myNextUrl").val();
    }
  });
}
</script>