将ajax返回值提出

Jonear 2011-07-29 10:27:10
$.ajax({
type:"POST",
url:APP+"/Mb-broadcast",
cache: false,
data:{username:username,content:txtMsg},
success: function (rs) {
id=rs;
alert(id);
},
error: function () { alert("对不起,连接服务器出错了");}
});
var blogitem = CreateBlogItem(txtMsg,id);

这样写的话,第一次不执行 var blogitem = CreateBlogItem(txtMsg,id);
我想将ajax返回的rs提到外面来使用,怎么实现啊,求助
...全文
75 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
woyesyes 2011-07-29
  • 打赏
  • 举报
回复
$.ajax({
type:"POST",
url:APP+"/Mb-broadcast",
cache: false,
data:{username:username,content:txtMsg},
success: function (rs) {
id=rs;
outResult(rs);
},
error: function () { alert("对不起,连接服务器出错了");}
});
var temp;
function outResult(obj){
temp = obj;

}

function getResult(){

var blogitem = CreateBlogItem(txtMsg,temp );
}

你要的结果就是这样的 提出来了;呵呵
zn85600301 2011-07-29
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 alexandertech 的回复:]

并不是不执行var blogitem = CreateBlogItem(txtMsg,id);
而是在Ajax还没返回id的时候,就执行过了

Ajax是异步执行的(虽然也可设置为同步,但不是所有浏览器都支持得很好),所以发出Ajax请求后就马上执行下面语句了。

你应该把var blogitem = CreateBlogItem(txtMsg,id);放到success函数里去做
[/Quote]
如果你是需要ajax返回值以后才 操作 那就放在success方法内
否则在编译js时 不是引用不到值就是报错
飞跃颠峰 2011-07-29
  • 打赏
  • 举报
回复
并不是不执行var blogitem = CreateBlogItem(txtMsg,id);
而是在Ajax还没返回id的时候,就执行过了

Ajax是异步执行的(虽然也可设置为同步,但不是所有浏览器都支持得很好),所以发出Ajax请求后就马上执行下面语句了。

你应该把var blogitem = CreateBlogItem(txtMsg,id);放到success函数里去做

51,409

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧