$("#favorite_msg").text(msg);

wrost 2013-12-17 09:35:38

关于jquery Ui
下边这么写,"#favorite_msg" 什么信息都没有

$("#favorite_msg").text(msg);
$("#favorite_dialog").dialog("open");
return false;



要这么写才显示"#favorite_msg" 才显示信息,难道msg 作用域只在ajax里边

error: function (res, status, ex) { msg = "收藏失败"; $("#favorite_msg").text(msg); },



完整

//收藏-Sumbit事件
//2013.9.11 xie
function Bind_FavoSumbit() {

$("#favoriteform").submit(function () {

var f = $("#favoriteform");
var action = f.attr("action");
var serializedForm = f.serialize();
var msg = "";
$.ajax({
type: "Post",
url: action,
data: serializedForm,
error: function (res, status, ex) { msg = "收藏失败"; },
success: function (cms) {
if (cms == -3) { msg = "对不起,你没有登录"; }
else if (cms == -1) { msg = "对不起,收藏失败"; }
else {
if (cms == -11)
{ msg = "已经收藏过!"; }
if (cms == 2)
{ msg = "收藏成功,谢谢支持!"; }
}
}
});

$("#favorite_msg").text(msg);
$("#favorite_dialog").dialog("open");
return false;
});


$("#favorite_dialog").dialog({
modal: true,
autoOpen: false,
buttons: {
关闭: function () {
$(this).dialog("close");
}
}
});
}






...全文
120 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
别闹腰不好 2013-12-18
  • 打赏
  • 举报
回复
把ajax 改成同步。async: false,
张运领 2013-12-17
  • 打赏
  • 举报
回复
 $.ajax({
            type: "Post",
            url: action,
            data: serializedForm,
            async:false,        //改成这个,变成同步请求可以,
            error: function (res, status, ex) { msg = "收藏失败"; },
            success: function (cms) {
                if (cms == -3) { msg = "对不起,你没有登录"; }
                else if (cms == -1) { msg = "对不起,收藏失败"; }
                else {
                    if (cms == -11)
                    { msg = "已经收藏过!"; }
                    if (cms == 2)
                    { msg = "收藏成功,谢谢支持!"; }
                }
            }
        });
或者,把处理数据的代码,放在数据返回之后处理,就是这样:
 $.ajax({
            type: "Post",
            url: action,
            data: serializedForm,
            error: function (res, status, ex) { msg = "收藏失败"; },
            success: function (cms) {
                if (cms == -3) { msg = "对不起,你没有登录"; }
                else if (cms == -1) { msg = "对不起,收藏失败"; }
                else {
                    if (cms == -11)
                    { msg = "已经收藏过!"; }
                    if (cms == 2)
                    { msg = "收藏成功,谢谢支持!"; }
                }
                $("#favorite_msg").text(msg);   //加在sucess的函数中处理,具体放在哪个逻辑里面,你就按自己的情况做吧
            }
        });
zhjdg 2013-12-17
  • 打赏
  • 举报
回复
关jQuery UI 毛事
wrost 2013-12-17
  • 打赏
  • 举报
回复
引用 1 楼 zyl_lyr1019 的回复:
对的,不是因为说非要在ajax里面写,而是因为,ajax你这应该是用的异步处理的,那么在执行 $("#favorite_msg").text(msg); 这个代码时,ajax还没有返回数据,这个时候msg还没有值呢。 你可以改成同步的处理,就是在返回数据之前,不会执行ajax后面的语句的。
请问该怎么改?
张运领 2013-12-17
  • 打赏
  • 举报
回复
对的,不是因为说非要在ajax里面写,而是因为,ajax你这应该是用的异步处理的,那么在执行 $("#favorite_msg").text(msg); 这个代码时,ajax还没有返回数据,这个时候msg还没有值呢。 你可以改成同步的处理,就是在返回数据之前,不会执行ajax后面的语句的。

87,904

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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