Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/291.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php jQuery$.ajax success仅运行一次_Php_Jquery_Jquery Selectors - Fatal编程技术网

Php jQuery$.ajax success仅运行一次

Php jQuery$.ajax success仅运行一次,php,jquery,jquery-selectors,Php,Jquery,Jquery Selectors,我正在尝试实现一个单星评级,即一个like按钮 我想更改星星图像。它似乎唯一的问题是,在使用$.ajax时,在success:part上,src attr或其他任何东西,比如.css,只第一次应用了一个!事实上,客户机必须刷新页面才能看到从数据库加载的最新星形图像/状态 代码如下: <script language="javascript"> // Ajax: Star $("#p<?php echo $pID;?>").find('.star').cli

我正在尝试实现一个单星评级,即一个like按钮

我想更改星星图像。它似乎唯一的问题是,在使用$.ajax时,在success:part上,src attr或其他任何东西,比如.css,只第一次应用了一个!事实上,客户机必须刷新页面才能看到从数据库加载的最新星形图像/状态

代码如下:

<script language="javascript">
    // Ajax: Star
    $("#p<?php echo $pID;?>").find('.star').click(function (e) {
        e.preventDefault();

        $.ajax({
        type: "POST",
        url: "./ajax.php",
        data: "pID=<?php echo $pID;?>",
        cache: false,

        success: function(html)
        {
            $("#s<?php echo $pID;?>").attr("src",html);
        }
        });
    });
    // END OF: Ajax: Star
</script>
php文件回显一个文件名,该文件名将替换为src属性,例如star-on.png或star-off.png


所以我想问题是:为什么成功:函数只触发一次?

我终于意识到问题所在。这是由于服务器端文件php,因为它总是计算客户端文件中给出的静态数据。我需要做的就是刷新php文件上的触发器。

您应该使用:将language=javascript替换为type=text/javascript。第二种方法是正确的。您确定脚本正确返回状态吗?例如,通过警告var html?您可以发布与此相关的html吗?@Arif:html的值为images/star-on.png或images/star-off.png,并且似乎没有问题