如何在成功或失败时停止jquery ajax页面重新加载

How to stop jquery ajax page reload on success or failure

我在ajax jquery上遇到成功问题。 我的整个jsp重新加载ajax成功,即使在返回false之后。 如何防止页面重新加载。

1
2
3
4
5
6
7
8
9
function AjaxCall(category){

var formValue = $('#TP').serialize();
$.post('saveIndvQuestionnaire.jsp?'+formValue+'&category='+category,
//$.post('callPage.jsp',
        function(data) {
    return false;
});
}

我从输入类型图像调用AjaxCall函数

1
<input id="test" type="image" onclick="javascript:AjaxCall('Test');" src="../images/v10/larrow.png">

我不确定我在哪里读取类型图像会打两次电话。

谢谢。


试试这个:

1
<input id="test" type="image" onclick="return javascript:AjaxCall('Test');" src="../images/v10/larrow.png">

您应该"返回"响应onclick。


我想你也可以这样

1
2
3
4
5
6
7
8
9
10
11
$('YourForm').submit(function(e){
   e.preventDefault();
   formdata=$(this).serialize();
   $.ajax({
      type:"POST",
      url: url,
      data: formdata
      }).done(function(data){
  //do something
   });
});


也许问题是输入类型图像的行为。
https://developer.mozilla.org/es/docs/Web/HTML/Element/Input
尝试在函数中使用e.preventDefault(),不应该提交。

1
2
3
4
5
6
7
8
9
$("#test" ).click(function( event ) {
  event.preventDefault();
var formValue = $('#TP').serialize();
$.post('saveIndvQuestionnaire.jsp?'+formValue+'&category='+category,
        function(data) {
    return false;
});

});

Exmple

http://jsfiddle.net/HBeVv/10/

您可以使用另一个html控件来实现这一点,就像使用Image的href一样:

1
<img title="The Link" />