我打电话href和的onclick功能,在功能的onclick我打电话的AJAX功能。由于页面重载的AJAX功能不能在Firefox工作。我怎样才能解决这个问题呢?下面显示按钮调控制器的方法在href和AJAX功能的onclick。
<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>
更改
的onclick = “ajaxAsyncRequest()”
至
的onclick = “ajaxAsyncRequest();返回false;”
一旦页面导航,所有正在运行的脚本停止和AJAX调用被取消。如果你想在AJAX调用来完成,需要延迟导航,直到它完成之后。嵌套在<button>
元素A <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>