以下のコードでは、jqueryを使用してデータモード値を更新しています。その値はサーバーから取得されます。
したがって、「ブロック」の場合、クリックすると、サーバーですべてがうまくいくと、「ブロック解除」になります。
'Unblock'に更新されます。これは、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;
});