jQuery,PHP:从jQuery调用PHP脚本,但它不';他似乎不在执行任务

jQuery,PHP:从jQuery调用PHP脚本,但它不';他似乎不在执行任务,php,javascript,jquery,mysql,Php,Javascript,Jquery,Mysql,我正在使用此网站上的源代码: 这是一个很棒的资源,我想你们都会同意,但我的问题是我的Javascript看起来并没有实际执行PHP脚本 当我在Chrome的调试器中为倒数第二行(在})添加断点时;): 正如您所期望的那样,它成功地在断点上停止。然而,我就是不能让send.php真正做任何事情,它根本不会!正如您从代码中看到的,我使用了绝对URL,但它不适用于相对URL,也不适用于send.php。我在send.php中放置了将“Success”写入数据库的代码,以便测试它是否正在执行,但显然不是

我正在使用此网站上的源代码:

这是一个很棒的资源,我想你们都会同意,但我的问题是我的Javascript看起来并没有实际执行PHP脚本

当我在Chrome的调试器中为倒数第二行(在})添加断点时;):

正如您所期望的那样,它成功地在断点上停止。然而,我就是不能让send.php真正做任何事情,它根本不会!正如您从代码中看到的,我使用了绝对URL,但它不适用于相对URL,也不适用于send.php。我在send.php中放置了将“Success”写入数据库的代码,以便测试它是否正在执行,但显然不是这样

有人有什么想法吗

谢谢

杰克

编辑:刚刚尝试使用此代码代替我以前使用的代码:

$('#rating_'+rid).load('send.php', function () {alert('Load was performed.');});
对话显示正确,因此我相信它能正常工作

作为参考,send.PHP的PHP代码为:

<?php

$rating = (int)$_POST['rating'];
$id = (int)$_POST['id'];

$this->db->query("INSERT INTO code (rating) VALUE (8)");
$query = $this->db->query("SELECT * FROM code WHERE id = '".$id."'");

while($query->row()) {

    if($rating > 5 || $rating < 1) {
        echo"Rating can't be below 1 or more than 5";
    }

    elseif(isset($_COOKIE['rated'.$id])) {
        echo"<div class='highlight'>You've already voted, sorry!</div>";
    }
    else {
        setcookie("rated".$id, $id, time()+60*60*24*365);

//      $total_ratings = $row['total_ratings'];
        $total_ratings = $query->row('total_ratings');
        $total_rating = $query->row('total_rating');
        $current_rating = $query->row('rating');

        $new_total_rating = $total_rating + $rating;
        $new_total_ratings = $total_ratings + 1;
        $new_rating = $new_total_rating / $new_total_ratings;
        // Lets run the queries. 

        $this->db->query("UPDATE test SET total_rating = '".$new_total_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET rating = '".$new_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET total_ratings = '".$new_total_ratings."' WHERE id = '".$id."'");

        echo"<div class='highlight'>Thanks for your vote!</div>";

    }
}

?>

首先要检查web服务器的访问和错误日志,以查看请求是否实际到达web服务器。

您正在寻址的服务器和页面运行的端口是相同的(
localhost:8888
)?对不起,您能详细说明一下吗?我不太明白。。。这是通过我Mac上的MAMP运行的,谁的访问地址是…救援日志![27-Feb-2010 22:25:05]PHP致命错误:在第6行的/Users/Jack/Sites/howCode.com/fivestars/send.PHP中不在对象上下文中使用$this谢谢:)
<?php

$rating = (int)$_POST['rating'];
$id = (int)$_POST['id'];

$this->db->query("INSERT INTO code (rating) VALUE (8)");
$query = $this->db->query("SELECT * FROM code WHERE id = '".$id."'");

while($query->row()) {

    if($rating > 5 || $rating < 1) {
        echo"Rating can't be below 1 or more than 5";
    }

    elseif(isset($_COOKIE['rated'.$id])) {
        echo"<div class='highlight'>You've already voted, sorry!</div>";
    }
    else {
        setcookie("rated".$id, $id, time()+60*60*24*365);

//      $total_ratings = $row['total_ratings'];
        $total_ratings = $query->row('total_ratings');
        $total_rating = $query->row('total_rating');
        $current_rating = $query->row('rating');

        $new_total_rating = $total_rating + $rating;
        $new_total_ratings = $total_ratings + 1;
        $new_rating = $new_total_rating / $new_total_ratings;
        // Lets run the queries. 

        $this->db->query("UPDATE test SET total_rating = '".$new_total_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET rating = '".$new_rating."' WHERE id = '".$id."'");
        $this->db->query("UPDATE test SET total_ratings = '".$new_total_ratings."' WHERE id = '".$id."'");

        echo"<div class='highlight'>Thanks for your vote!</div>";

    }
}

?>