Html 在Jquery中从一个js访问另一个js的函数?

Html 在Jquery中从一个js访问另一个js的函数?,html,jquery,Html,Jquery,我想实现以下功能 我有两个Jquery.js文件,它们都导入到一个HTML文件中,并使用ajax功能。First.js具有ajax函数,该函数将获得json响应。如果服务返回成功,我必须调用另一个ajax调用,该调用出现在Second.js中 Test.Html <!DOCTYPE html> <html> <head> <meta charset="ISO-8859-1"> <title>Insert t

我想实现以下功能

我有两个Jquery.js文件,它们都导入到一个HTML文件中,并使用ajax功能。First.js具有ajax函数,该函数将获得json响应。如果服务返回成功,我必须调用另一个ajax调用,该调用出现在Second.js中

Test.Html

<!DOCTYPE html>
 <html>
   <head>
     <meta charset="ISO-8859-1">
      <title>Insert title here</title>          
      <script type="text/javascript" src='js/jquery.js'></script>
      <script type="text/javascript" src="js/test.js"></script>
      <script type="text/javascript" src="js/test1.js"></script>
   </head>
    <body>  
     <div class="ui-body">
      <fieldset class="ui-grid-a">                          
         <div id="buttondiv" class="ui-block-a"><a data-role="button" id="loginbtn" data-theme="b">Login</a></div>
         <div id="loading" style="display:none"><img src='css/images/demo_wait.gif' /></div>                                         
    </fieldset>
  </div>
</body>
</html>
Second.js

  $(document).ready(function(){
     $.ajax({
           .
           .
           .            
            success:function(data){ 
                 Successcall();
            },
           error:function(xhr){ 
                  alert("Error");
            }
      });
 });
  $(document).ready(function(){

 function Successcall(){
         $.ajax({
           .
           .
           .            
            success:function(data){ 
                 alert("In Second JS");
            },
           error:function(xhr){ 
                  alert("Error");
            }
      });
      }
 });
我无法调用Successcall();来自Second.js的函数

var my_functions = {};
my_functions.Successcall = function() {
  // do something
};

可以帮我一下吗。

在你的
第二个.js
中,删除
$(文档)。准备好了
Successcall()
函数必须在
文档就绪
之外才能访问

 function Successcall(){
         $.ajax({
           .
           .
           .            
            success:function(data){ 
                 alert("In Second JS");
            },
           error:function(xhr){ 
                  alert("Error");
            }
      });
      }

在first.js之前先加载second.js

second.js中的Successcall函数不在first.js的范围内,因为它包含在$(document).ready()函数范围内

Muthu Kumaran的解决方案将Successcall函数附加到全局对象上,这将起作用,但IMHO相当混乱

也许这会更好(把它放在Second.js中)


然后从First.js调用my_functions.Successcall()。这样可以避免将函数附加到全局对象。

首先检查ajax调用成功方法。
将警报功能设置为

success:function(data){ 
                 **alert("Got success");**
                 Successcall();
        }
如果上述代码工作正常,但仍然没有调用Successcall()功能

然后您可以将Successcall()放入在ready函数之外

尝试在第一个文件之前定位第二个文件。您能解释一下它有多凌乱吗?这个URL很好地解释了这一点