2013-02-24 93 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']))我猜