我无法看到他的代码块有什么问题,但出于某种原因,IE7给了我一个很难的时间
$('.vote').live('click', function() {
var post_url = base_url + 'ajax_vote' ;
var mask_id = $(this).attr('id');
var btn = $(this);
$.ajax({
type: "POST",
url: post_url,
data: "mask_id=" + mask_id,
}).done(function( msg ) {
if( msg == 'pass' ){
get_votes(mask_id);
btn.replaceWith('<span class="success">Thanks for voting</span>');
}
else{
btn.replaceWith('<span class="error">You have already voted for this.</span>');
}
});
return false;
});
任何人都可以看到我做了什么让它抱怨。运行jQuery 1.6.2,它位于一个活动的灯箱内,因此是.live
答案 0 :(得分:2)
对于初学者,如果可能,请避免.live()
。
现在为您解决问题:
// this doesn't do what you think.
.done(function( msg ) {
您应该使用.ajax()
的{{3}}。