jquery中的getJSON获取的json对象如何传递到ajax方法外。
例如思路是这样的:不过下面的方法不可以functiongetAjax(){varobj="";$.getJSON("ajax.php",{a:a,b:b},functio...
例如思路是这样的:不过下面的方法不可以
function getAjax(){
var obj = "";
$.getJSON("ajax.php",{a:a,b:b},function(json){
obj = json
})
alert(obj);
} 展开
function getAjax(){
var obj = "";
$.getJSON("ajax.php",{a:a,b:b},function(json){
obj = json
})
alert(obj);
} 展开
4个回答
展开全部
要回答这问题,首先要理解ajax是异步访问的,所谓异步,类似于多线程,js解释器执行到ajax的时候,并不会等待返回结果以及回调函数都执行完了过后才执行下一条语句(在这里就是alert语句),而是在调用ajax过后就直接执行alert(obj)了,在执行alert的时候,ajax的回调函数还没执行,因为网络传输需要时间,执行结果还没返回。解决方法是不用$.getJSON,而用$.ajax,设置async=false,改异步为同步,这样代码就会顺序执行了。或者把alert写到ajax回调函数中(也是使用ajax的时候常用的方式,推荐)。
展开全部
可以return
function getAjax(){
var obj = "";
$.getJSON("ajax.php",{a:a,b:b},function(json){
obj = json;
alert(json);
})
先看看这样出来没
function getAjax(){
var obj = "";
$.getJSON("ajax.php",{a:a,b:b},function(json){
obj = json;
alert(json);
})
先看看这样出来没
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好!
有个方法,可以试试:
将json写入隐藏域,外面想用时,读出来,包装一下。
有个方法,可以试试:
将json写入隐藏域,外面想用时,读出来,包装一下。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
设置为同步,外面就能获取到了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询