2009-12-17 135 views
1

這裏是我的功能:jQuery的阿賈克斯不工作

$(".home .up_0").click(function() { 
    $.post("includes/vote.php", 
     {truc : $(this).attr("id")}, 
     function(data) { 
      if(data==1) { 
       $(this).parents('.home').find('.score_neutre').append(
        $(this).parents('.home').find('.score_neutre').val()+1 
       ); 
      } else { 
       alert("Error !"); 
      } 
     }, 
     "json" 
    ); 
}); 

當我點擊的一切作品,但它不會改變.score_neutre值(這是1,我希望它更改爲2)。

+2

你正在檢索一個json響應並將其用作字符串。 – yoda 2009-12-17 15:43:46

+0

Btw json看起來像這樣 {score:12}或{values:{score:12}},你可以分別訪問 data.score或data.values.score。如果你想使用json封裝php中的所有內容作爲關聯數組,然後使用json_encode($ array); – MindStalker 2009-12-17 20:04:26

回答

3

您需要測試(data.score == 1)沒有數據

「分數」被關聯數組名稱爲JSON數據你發送。

+0

我真的不明白,在我的PHP文件中,如果它工作,我只發回1,如果它沒有,則返回0。它的工作原理是:| – 2009-12-17 15:54:47

2

什麼是您的JSON響應是什麼樣子?你無法像這樣將它與一個數字進行比較。

此外,您使用的是最有可能錯誤的append。我想你真的想要做的是

var ele = $(this).parents('.home').find('.score_neutre'); 
ele.val(ele.val()+1); 
+0

好吧,追加或這不起作用。我認爲這是因爲它在函數(數據)中,它不起作用 – 2009-12-17 15:55:34