[英]stop ajax jquery load on submit
我有一个这样的jQuery前..
jQuery(document).ready(function() {
var refreshId = setInterval(function() {
jQuery("#results").load('random.php?randval='+ Math.random()+'&hours='+jQuery('#hours').val()+'&mins='+jQuery('#mins').val()+'&seconds='+jQuery('#seconds').val());
jQuery("#time_spent").val(jQuery("#results").html());
}, 1000);
});
和这样的提交按钮
<input type="submit" name="submit" value="Stop" id="submit" />
现在,如果单击提交按钮,则由于时间间隔为1秒,因此应立即停止ajax jQuery加载。
怎么做 。 请帮助谢谢哈恩
听起来您正在按计时器进行Ajax刷新,但是提交表单后,您想取消刷新。 在这种情况下,提交表单时,您将需要使用clearInterval()
取消计时器。
$('form').submit(function(){
clearInterval(refreshId);
});
或者,您可能可以在refreshId
按钮中完成此操作,具体取决于refreshId
的范围。
<input onclick="clearInterval(refreshId);return(true);" type="submit" name="submit" value="Stop" id="submit" />
如果要防止在提交表单后更新#result,则应使用get请求中的回调,并在将ajax结果放入其中之前检查是否应更新#result。
var refreshId = -1;
jQuery(document).ready(function() {
var stop = false;
refreshId = setInterval(function() {
var data = {
randval: Math.random(),
hours: jQuery('#hours').val(),
mins: jQuery('#mins').val(),
seconds: jQuery('#seconds').val()
};
jQuery.get('random.php', data, function(data){
if (!stop) {
jQuery("#results").html(data);
jQuery("#time_spent").val(data);
};
});
}, 1000);
jQuery('form').submit(function(){
stop = true;
clearInterval(refreshId);
});
});
在做一些ajax之前如何检查某个变量是否为真。
使用Javascript:
<script type="text/javascript">
function stopWorking()
{
running = false;
}
$(document).ready(function()
{
running = true;
var refreshId = setInterval(function() {
if(running!=false)
{
jQuery("#results").load('random.php?randval='+ Math.random()+'&hours='+jQuery'#hours').val()+'&mins='+jQuery('#mins').val()+'&seconds='+jQuery('#seconds').val());
jQuery("#time_spent").val(jQuery("#results").html());
}, 1000);
});
</script>
HTML:
<input type="submit" onclick="stopWorking();return(false);" />
单击提交按钮后,变量'running'设置为false,所有jquery动作均停止。
我要在黑暗中刺破你的要求。 因此,如果ajax请求花费的时间超过1秒,则应将其杀死?
尝试使用jQuery的$.ajax()
函数设置超时时间。
您需要使用其他ajax方法-例如$ .get或$ .post等...,因为这些方法返回一个XMLHttpRequest对象,该对象可以存储在变量中,然后用于中止请求。
请参阅: 使用jQuery中止Ajax请求
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.