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);

}
展开
 我来答
时间flowing
推荐于2016-06-15 · TA获得超过478个赞
知道小有建树答主
回答量:386
采纳率:0%
帮助的人:298万
展开全部
要回答这问题,首先要理解ajax是异步访问的,所谓异步,类似于多线程,js解释器执行到ajax的时候,并不会等待返回结果以及回调函数都执行完了过后才执行下一条语句(在这里就是alert语句),而是在调用ajax过后就直接执行alert(obj)了,在执行alert的时候,ajax的回调函数还没执行,因为网络传输需要时间,执行结果还没返回。解决方法是不用$.getJSON,而用$.ajax,设置async=false,改异步为同步,这样代码就会顺序执行了。或者把alert写到ajax回调函数中(也是使用ajax的时候常用的方式,推荐)。
drink51
2013-01-17 · TA获得超过297个赞
知道小有建树答主
回答量:425
采纳率:0%
帮助的人:144万
展开全部
可以return
function getAjax(){
var obj = "";
$.getJSON("ajax.php",{a:a,b:b},function(json){
obj = json;
alert(json);

})
先看看这样出来没
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
阿刚炖蛋
2013-01-17 · TA获得超过3004个赞
知道大有可为答主
回答量:1789
采纳率:92%
帮助的人:997万
展开全部
你好!

有个方法,可以试试:
将json写入隐藏域,外面想用时,读出来,包装一下。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
qmtx3
2013-01-18 · TA获得超过144个赞
知道答主
回答量:177
采纳率:0%
帮助的人:81.7万
展开全部
设置为同步,外面就能获取到了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式