我有一个简单的<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放入函数中的正确方法是什么?
您可能必须取消“提交”按钮上的默认操作,因为它可能正在发送表单并重新加载页面。您的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] 删除。
我来说两句