var id=‘123’;
$.ajax({
url:’http://www.xxx.com/ajax',
type:'post',
dataType: "json",
data:{wurl:w_url,murl:m_url},
async : true,
error:function(){
},
success:function(data){
var id= data[‘id’];
console.log(id) // 这里出来的是100 }
})
console.log(id); //这里出来的是123
问题出在ajax 的async 同步导步选项上,如果将async:false ,表示用同步方式运行,ajax 加载完成再执行下面的语句。如果 async:true ,则表示异步执行,ajax 未行到值就有机会招待ajax下一步的语句了。
谢谢评论里的提示,true 打错的问题我不确定是程序时写错了还是我博客上写错了。我再次测试了async: true 好像执行正常了。
第二条评论叫我去了var id 也是正确的,是全局变量的问题. 谢谢评论的鞋童