读书人

$(quot;favorite_msgquot;).text(msg);解决方案

发布时间: 2013-12-19 00:33:34 作者: rapoo

$("#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,

读书人网 >JavaScript

热点推荐