Ext.ajax.request这个Ajax访问后台,将其封装为一个函数之后,可以设置其返回值吗? 10
varinit=function(){Ext.Ajax.request({url:'XXX.jsp',success:function(resp){//省略},failu...
var init=function(){
Ext.Ajax.request({
url : 'XXX.jsp',
success : function(resp) {
//省略
},
failure : function() {
//省略
},
params : {
id :''
}
});
return node;
};
如上,我把这个请求封装在了init()函数之中 可不可以设置它的返回值呢?比如我success回来是一个String,接着我new一个点,以这个String命名,在request之外返回node可不可以? 展开
Ext.Ajax.request({
url : 'XXX.jsp',
success : function(resp) {
//省略
},
failure : function() {
//省略
},
params : {
id :''
}
});
return node;
};
如上,我把这个请求封装在了init()函数之中 可不可以设置它的返回值呢?比如我success回来是一个String,接着我new一个点,以这个String命名,在request之外返回node可不可以? 展开
1个回答
展开全部
如果你设置的是异步请求,那只能使用callback的方式来处理返回值,
如果设置的是同步请求,可以作为函数的返回值返回给调用者。
如果设置的是同步请求,可以作为函数的返回值返回给调用者。
追问
我有点不明白异步和同步的区分。这里是通过传参数id到后台,后台通过id查找出数据返回来。整体是一个加载数据的过程。这个是同步还是异步呢?换句话说区分同步和异步的核心在哪里 多谢了啊!!!
追答
ajax请求的时候一般可以指定一个async标志,如果是true的话就是异步,否则是同步,
当异步的时候,你的方法发完请求后会直接执行到结束,不会block住等待返回结果,
如果是同步的,你的方法会block在那儿一直等待直到服务器返回。
所以异步的情况下当方法返回的时候实际上服务器数据还没取到~~同步则可以
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询