在下面的代码中,我使用 jquery 更新数据模式值。该值来自服务器。
所以现在如果它是“阻止”,当我单击它时,如果服务器上一切顺利,它将是“解除阻止”。
它更新为“取消阻止”。我可以在 Mozilla 中使用开发工具看到这一点。但是当我再次单击它时,我仍然得到旧值。不是新的。
我在这里做错了什么,我该如何做对?
<span class="mod-user" data-mode="Block" data-handle="3">Block</span>
我的jQuery:
$('.mod-user').live('click', function() {
var mode = $(this).data("mode");
var userHandle = $(this).data("handle");
var handle = 'mode='+mode+'&handle='+userHandle;
if(handle){
// ajax call
$.ajax({
type: "GET",
url: "/modset/",
data: handle,
dataType: "json",
cache: false,
beforeSend: function(html) {
$('.mod-user[data-handle="'+userHandle+'"]').empty();
$('.mod-user[data-handle="'+userHandle+'"]').html('Wait..');
},
success: function(preData){
if (preData["success"] == false){
delete preData["success"];
}else if (preData["success"] == true)
{
delete preData["success"];
$(this).html('');
alert(preData['response']);
$('.mod-user[data-handle="'+userHandle+'"]').html(preData['response']);
$('.mod-user[data-handle="'+userHandle+'"]').attr('data-mode',preData['response']);
}else{
alert('Error');
}
},
});
}
return false;
});