2011-12-18 78 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"];