首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

$("favorite_msg").text(msg);解决方案

2013-12-19 
$(#favorite_msg).text(msg)关于jquery Ui下边这么写,#favorite_msg 什么信息都没有$(#favorite_msg

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

关于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");
            }
        }
    });
}







[解决办法]
 $.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的函数中处理,具体放在哪个逻辑里面,你就按自己的情况做吧
            }
        });

[解决办法]
把ajax 改成同步。async: false,

热点排行