2016-12-25 55 views
0

这是相当新颖的。我有一个名为“getInformation”的函数,其中包含3个Ajax函数。当jquery中的if语句失败时调用函数

当if语句在这里显示的成功函数失败时,我想调用/触发“getInformation”函数,但我不知道使用哪个选择器(或者如果我甚至需要选择器)。

success: function(serverResponse){ 
      if(serverResponse.length>1){ 
       try{ 
        var searchResultsHTML=''; 
        console.log(serverResponse); 

        $("#searchResults").append(searchResultsHTML); 
       }catch (ex) { 
         console.error(ex); 
         $("#searchResults").text("An error occurred processing the data"); 
       } 
      } else{ 
        //run the other ajax calls 
        $.fn.getInfortmation(); 
      } 
+0

'getInformation'函数与元素操作函数或普通函数相关。如果是正常的函数,只需使用'callback'方法或jquery'promise'方法。或者也可以在这里添加'getInformation'函数,以便理解。 –

+0

那什么不起作用?您已经在那里调用了该函数,但名称拼写错误。 – Pointy

+0

我不知道如何声明函数,但我不认为你需要'$ .fn.',只需调用'getInformation()' – Taki

回答

0

我相信你可能会误解在jQuery中的$的含义。这实际上仅仅是一个类别的缩写或别名,jQuery是一个包含库中所有函数的类(或某个JS等价的持有者)。

仅仅因为您正在使用jQuery回调(success处理程序)编写代码,并不意味着您只需要使用jQuery函数。你可以自由使用你自己的代码,我相信getInformation是你定义的函数之一。

为了解决这个问题,调用函数没有jQuery的$fn.getInformation。我假设你的函数在一个不同的对象fn中。如果不是,请删除fn

就选择器而言,这是一个不同的话题。这些用于在代码中的页面上轻松选择和使用HTML元素。 jQuery对此非常有用,但并非所有的jQuery函数都涉及到选择器/ DOM。例如,在这种情况下,看起来你可能正在做一些AJAX,它直接与操纵页面元素没有任何关系,而是关于将数据传递给服务器。