2013-02-24 204 views
0

由於某種原因,此代碼不會工作,我真的不知道,我做了其他這樣的ajax調用,它的工作完美,但我不知道爲什麼這一個不會工作,請幫忙? 沒有日期會在PHP文件中生成。jquery,ajax調用失敗

$('.1').click(function(){ 
    $.ajax({ 
     type: 'GET', 
     url: 'src/rate.php', 
     data: 'rate=1&tut=12', 
     success: function(msg){ 
      $('#view_tut_rating_container').html(msg); 

     } 

    }); 
}); 

這裏也是PHP文件

require '../config/global.php'; 
require 'functions.php'; 
if (isset($_GET['rate'] && isset($_GET['tut']))) { 
    $rate = security($_GET['rate']); 
    $tut = security($_GET['tut']); 
    mysql_query("UPDATE tutorials set clicks = clicks+1 where id = '$tut'"); 
    mysql_query("UPDATE tutorials set rating = rating+'$rate' where id = '$tut'"); 
    echo getRatingById2($tut); 

} 
+0

'網址:「file.php X = 1&Y = 2''使用'data'爲POST調用 – Peter 2013-02-24 15:43:11

+0

@彼得 - 編號使用'數據'作爲數據。通過'data'構造查詢字符串非常好。 (雖然我建議傳遞一個數據對象而不是手動構建查詢字符串)。 – Quentin 2013-02-26 10:40:40

回答

0

如果這.1是錨嘗試通過從。點擊處理程序返回false取消默認操作。另外,類名不能以數字開頭。您將不得不更改代碼:

$('.someClassName').click(function(){ 
    $.ajax({ 
     type: 'GET', 
     url: 'src/rate.php', 
     data: { rate: '1', tut: '12' }, 
     success: function(msg){ 
      $('#view_tut_rating_container').html(msg); 
     } 
    }); 

    return false; 
}); 

另請注意將參數傳遞到服務器的首選方法。

+0

.1是從這個 2013-02-24 15:45:18

+0

好吧,然後修復它,使它不以數字開始:''。 – 2013-02-24 15:46:09

0

類名不能以整數開頭。基本規則!更改代碼的東西:

$(".a1").click(function(){ ... }); 

和HTML更改爲:

<img class="a1" /> 

相反的:

<img class="1" /> 

至於第二個是錯誤的。


另一件事是,在首選格式(JSON)中給出data值。

data: {rate: '1', tut: '12'}, 
0

試試這段代碼。剛剛測試過,對我來說工作正常。

<script> 

$(document).ready(function(){ 
      $('.1').on("click",function(){ 

             alert("test"); 
       $.ajax({ 
        type: 'GET', 
        url: 'rate.php', 
        data: 'rate=1&tut=12', 
        success: function(msg){ 
         $('#view_tut_rating_container').html(msg); 

        } 

       }); 
      }); 


}) 
</script> 




<input type="button" class="1" value="ss" /> 
<div id="view_tut_rating_container"></div> 

,並在你的PHP文件if (isset($_GET['rate'] && isset($_GET['tut'])))

必須是if (isset($_GET['rate']) && isset($_GET['tut']))我猜