AJAX - 如果POST正在运行,请不要执行GET请求

时间:2015-11-28 03:28:43

标签: jquery ajax

我有一个可以输入的文本框。文本框不断从数据库中获取数据。用户可以在文本框中键入内容,并将其保存在keyup的数据库中。问题是,有时当我打字时,它会被来自数据库的GET请求所取代,后者会替换文本区域的值。

我想要实现的是当用户键入时,keyup函数上发生POST请求时,GET请求被取消。当用户没有输入时,继续GET请求。

我的代码:

function timers() {

            tmrAjax = setInterval(function () {

                $.get('<?php echo base_url('home/get') ?>',  function (html) {

                    $("[name=text]").attr('id', 'text');
                    $("#text").val(html);
                    //   $("#text").removeAttr("disabled");
                });
            }, 1000);
        }

        timers();

        $(window).blur(function () {
            clearInterval(tmrAjax);
            $("#text").removeAttr("id");
            //  $("#text").attr("disabled", "disabled");
        }).focus(timers);


$(document).ready(function () {
            $("#text").keyup(function () {
                    $.ajax({
                        type: "POST",
                        url: "<?php echo base_url(); ?>home/save",
                        data: "text=" + $("#text").val()
                        //onsuccess
                        //onerror
                        //etc
                    });
            });
 });

感谢您的帮助!

0 个答案:

没有答案