Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript ajax-如何清除以前的ajax结果_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript ajax-如何清除以前的ajax结果

Javascript ajax-如何清除以前的ajax结果,javascript,jquery,ajax,Javascript,Jquery,Ajax,我有一个ajax调用,它在大部分情况下都有效,但它似乎记住了前面的结果。编辑:这可能是由于将行为绑定到divid 我的例行程序结构如下: 调用ajax搜索输入是否正确,从php获取响应。结果可以是是或否 如果结果为“是”,则将holder div的颜色更改为视觉提示,允许用户双击该div以运行另一个函数。如果不允许,则不允许双击div,也不要运行其他函数 简单,对吗?除此之外,当第一个ajax调用产生“是”结果,然后用户执行第二个ajax调用并产生“否”结果时,用户可以单击“否”结果并执行预期产

我有一个ajax调用,它在大部分情况下都有效,但它似乎记住了前面的结果。编辑:这可能是由于将行为绑定到divid

我的例行程序结构如下:

  • 调用ajax搜索输入是否正确,从php获取响应。结果可以是是或否

  • 如果结果为“是”,则将holder div的颜色更改为视觉提示,允许用户双击该div以运行另一个函数。如果不允许,则不允许双击div,也不要运行其他函数

  • 简单,对吗?除此之外,当第一个ajax调用产生“是”结果,然后用户执行第二个ajax调用并产生“否”结果时,用户可以单击“否”结果并执行预期产生“是”结果的操作

    我尝试解除dblclick的绑定,但它似乎不起作用,仍然允许单击“无结果”。这是我的jquery代码,我的常规javascript代码也有同样的错误行为

    编辑:这似乎是绑定问题。但我似乎可以解除绑定并销毁/删除以前绑定的行为。通过重复该例程进行的进一步测试似乎表明javascript确实将这些绑定对象保存在内存中,因为当我多次重复该错误例程时,该警报将回显相同数量的“已保存”绑定对象

    下面是我的部分代码,请见谅

    短暂性脑缺血发作

    编辑:解决方案是解除双击的绑定,我应该输入dblclick而不是doubleclick

    function search(input,divid) {
    
    var queryString = "name=" + input+"&divid="+divid;
    var url = "../l.php";
    
          $.ajax({
          type: 'get',
          url: url,
          data: queryString,
          cache: false,
          dataType: 'text',
          timeout: 10000, 
    
          error: function(xhr, status, error) { alert('Search Error: '+ xhr.status+ ' - '+ error); },
    
          success: function(response) { 
    
          var result = response;
          var err = /:/;
          var divid = "#"+divid;
    
    
          if (result == "Yes" ) 
          { 
            $(tldid).attr({'class':'tg1', 'title':'Doubleclick to save'});
    
            var testword = 'xyz';
            $(divid).dblclick(function() {
                alert (testword);
    
                        $(divid).unbind('doubleclick');
                       });
    
           else {
             //alert (testword +" should not have been passed here, but it does");
                     $(divid).attr({'class':'tg2'});
            }
    
    
          }//success
        });
    
    }//end 
    

    您应该更改
    $(divid).unbind('doubleclick')
    $(divid).unbind('dblclick')
    您应该更改
    $(divid)。解除绑定('doubleclick')
    $(divid).unbind('dblclick')

    是,当URL相同时,浏览器会在后续调用中从缓存中获取结果。请参阅,通过将时间戳或另一个查询参数添加到URL@sudmong:他已经设置了
    缓存:false
    。将cache设置为false会向URL@sudmong,我想你不理解我的问题,这不是浏览器缓存的问题,我知道这个问题,我将缓存设置为false。当我输入问题时,似乎是绑定问题。我看了你的第一句话,“但它似乎记住/缓存了以前的结果。”???@sudmong,很抱歉语言混乱,我不知道错误是什么,所以我无法准确命名。是的,当URL相同时,浏览器将在后续调用中从缓存中获取结果。请参阅,通过将时间戳或另一个查询参数添加到URL@sudmong:他已经设置了
    缓存:false
    。将cache设置为false会向URL@sudmong,我想你不理解我的问题,这不是浏览器缓存的问题,我知道这个问题,我将缓存设置为false。当我输入问题时,似乎是绑定问题。我看了你的第一句话,“但它似乎记住/缓存了以前的结果。”???@sudmong,很抱歉语言混乱,我不知道错误是什么,所以我无法准确命名。谢谢Ben,我完全忽略了这一点。我从这本指南中得到了“双击”,这可能是一个打字错误。我很高兴我遇到了这个问题,它可以部分解释为什么我的脚本导致浏览器运行缓慢。谢谢Ben,我完全忽略了这一点。我从这本指南中得到了“双击”,这可能是一个打字错误。我很高兴我遇到了这个问题,它可以部分解释为什么我的脚本导致浏览器运行缓慢。