Html 在Jquery中从一个js访问另一个js的函数?
我想实现以下功能 我有两个Jquery.js文件,它们都导入到一个HTML文件中,并使用ajax功能。First.js具有ajax函数,该函数将获得json响应。如果服务返回成功,我必须调用另一个ajax调用,该调用出现在Second.js中 Test.HtmlHtml 在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
<!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.jssecond.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很好地解释了这一点