jQuery Ajax在功能中不起作用

彼德

我有一个简单的<button type="submit" onClick="dothis();">Click</button>

下面的脚本没有问题,

$(document).ready(function() {
  action = 'test';
  $.ajax({
    url:'ajax.php',
    data: 'action='+action,
    type:'GET',
    dataType:'json',
    timeout:7000,
    error:function(){ alert('Error!'); return false; },
    success:function(json){ alert('ok'); }
  });
});

但是当我将其投入功能时,它将无法正常工作,

function dothis(){
  action = 'test';
  $.ajax({
    url:'ajax.php',
    data: 'action='+action,
    type:'GET',
    dataType:'json',
    timeout:7000,
    error:function(){ alert('Error!'); return false; },
    success:function(json){ alert('ok in function'); }
  });
}

将ajax放入函数中的正确方法是什么?

jfriend00

您可能必须取消“提交”按钮上的默认操作,因为它可能正在发送表单并重新加载页面。您的ajax呼叫正在发送,但是此页面立即被重新加载,因此您看不到任何结果。

您可以通过添加以下一项来取消默认操作:

return false;

doThis()

function dothis(){
  action = 'test';
  $.ajax({
    url:'ajax.php',
    data: 'action='+action,
    type:'GET',
    dataType:'json',
    timeout:7000,
    error:function(){ alert('Error!'); return false; },
    success:function(json){ alert('ok in function'); }
  });
  return false;
}

或者,将您的按钮更改为普通按钮,而不是提交按钮。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章