js异步加载的callback()方法是怎么回事 10
看js面试题时遇到这么一道题:“请给出异步加载js方案,不少于两种”,其中有一种方案如下:创建script,插入到DOM中,加载完毕后callBack,见代码:funct...
看js面试题时遇到这么一道题:“请给出异步加载js方案,不少于两种”,其中有一种方案如下:
创建script,插入到DOM中,加载完毕后callBack,见代码:
function loadScript(url,callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){//IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
请问上面的callback()方法是哪里来的?是系统自带的还是需要自己定义?这个方法具体做了什么??
期待高人解答。。 展开
创建script,插入到DOM中,加载完毕后callBack,见代码:
function loadScript(url,callback){
var script = document.createElement("script")
script.type = "text/javascript";
if (script.readyState){//IE
script.onreadystatechange = function(){
if (script.readyState == "loaded" || script.readyState == "complete"){
script.onreadystatechange = null;
callback();
}
};
} else { //Others: Firefox, Safari, Chrome, and Opera
script.onload = function(){
callback();
};
}
script.src = url;
document.body.appendChild(script);
}
请问上面的callback()方法是哪里来的?是系统自带的还是需要自己定义?这个方法具体做了什么??
期待高人解答。。 展开
4个回答
展开全部
上面的callback()方法是参数传入的,当然需要你在外部定义一个函数。
回调函数,就是当加载完成后,可以进行下一步操作的函数。
举个简单的例子:
登陆操作,当输入用户名和密码进行登陆后,发送一个异步请求至服务端,来验证是否为合法用户。
假如服务端的验证方法,返回一个true|false的布尔值。
客户端脚本中在得到服务端的响应后,就可以进入回调函数。
那么在回调函数中,可以根据这个返回值,进行相应的操作。比如,true的话,跳转到主页面;false的话,重新定位到登陆页面。
回调函数在ajax中还是很有用的。
回调函数,就是当加载完成后,可以进行下一步操作的函数。
举个简单的例子:
登陆操作,当输入用户名和密码进行登陆后,发送一个异步请求至服务端,来验证是否为合法用户。
假如服务端的验证方法,返回一个true|false的布尔值。
客户端脚本中在得到服务端的响应后,就可以进入回调函数。
那么在回调函数中,可以根据这个返回值,进行相应的操作。比如,true的话,跳转到主页面;false的话,重新定位到登陆页面。
回调函数在ajax中还是很有用的。
展开全部
script.onload = function(){
callback();
};
callback()方法俗称回调函数,就是当js异步加载完成后调用的方法,该方法是开发人员自己定义的,至于具体做什么就看你怎么创建这个方法了。
例子:
function callback() {
alert("加载完成!");
}
callback();
};
callback()方法俗称回调函数,就是当js异步加载完成后调用的方法,该方法是开发人员自己定义的,至于具体做什么就看你怎么创建这个方法了。
例子:
function callback() {
alert("加载完成!");
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
是自己写的函数,就是业务代码。比如你觉得这个script完全加载了之后需要alert一下,那么你的这个callback就可以是
function callback(){
alert('script加载成功');
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
(1)这里的callback就是所谓的回调函数,就是你提交参数给后台,然后返回一个结果或者状态
(2)这对于实现登陆之类是比较重要的返回的状态来判断接下来的动作和行为
(2)这对于实现登陆之类是比较重要的返回的状态来判断接下来的动作和行为
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询