2011-12-18 41 views
-1
$(".eventer button[name=lol]").click(function() { 
num = $(this).parent().data('num'); 
if(typeof num != 'number'){ 
    num = 0; 
} 
$(this).attr('disabled', true); // don't allow a second click until previous action has completed 

$(this).parent().data('num', ++num); 
$.ajax('javas.php', { success: function(response) { 
$(this).parent().next('.status').html(num); 
$(this).attr('disabled', false); // reset 
}) 
}); 

如果我评论了ajax部分进行一切工作正常,但我需要张贴变量num到PHP这样我就可以将其存储在数据库中阿贾克斯不张贴到PHP

+0

你应该将数据添加到Ajax调用,像$ .ajax('javas.php',{data:{'num':++ num},成功:... – MetalRain 2011-12-18 12:11:56

回答

2

尝试缩进你的代码的可读性:

$.ajax('javas.php', { 
    success: function(response) { 
     $(this).parent().next('.status').html(num); 
     $(this).attr('disabled', false); // reset 
    } 
    ) // <-- ?? 
}); 

然后你就会看到有一个错误。

如果你看一下jQuery的网站http://api.jquery.com/jQuery.ajax/

$.ajax({ 
    url: 'ajax/test.html', 
    success: function(data) { 
    $('.result').html(data); 
    alert('Load was performed.'); 
    } 
}); 

并将其转化到你:

$.ajax({ 
    url: 'javas.php', 
    success: function(data) { 
     $(this).parent().next('.status').html(num); 
     $(this).attr('disabled', false); // reset 
    } 
}); 

这应该工作。

您仍然需要你的数据,虽然增加了要求:

$.ajax({ 
    url: 'javas.php', 
    data: "num="+num+"&id="+id, 
    success: function(data) { 
     $(this).parent().next('.status').html(num); 
     $(this).attr('disabled', false); // reset 
    } 
}); 
+0

我必须用最后一个代码块替换整个事件 – foshoeiyyy 2011-12-18 12:26:52

+0

http://jsfiddle.net/ 2bwuM/15/ – Richard 2011-12-18 12:33:29

+0

http://jsfiddle.net/2bwuM/17/ - C Ode并不理想,但现在应该足够了 – Richard 2011-12-18 12:45:14

1
$.ajax({ 
url:'javas.php', 
type:'post', 
data:{num:num}, 
success:function(response){ 
$(this).parent().next('.status').html(num); 
    $(this).attr('disabled', false); // reset 
}, 
error:function(){} 
}); 

,并在PHP端得到​​数据

$var = $_POST["num"];