Php Jquery和Ajax不能正常工作

Php Jquery和Ajax不能正常工作,php,jquery,html,ajax,Php,Jquery,Html,Ajax,很抱歉,如果这是一个答案显而易见的问题,但我对Jquery的了解非常有限,我不知道如何调试它 在我的网站上,我有一个排名脚本(见中间框中的NFRASES.com),它读取用户点击或向下点击,然后jQuery脚本选择投票,将其发送到Ajax .PHP,以进行MySQL查询,刷新$评级值。我遵循了一个教程,所以为了达到这个目的,一切都很顺利 现在我正试图复制它,但没有任何效果。。。已经尝试了一百万种变化(不知道我在做什么),但没有任何效果。jquery脚本在scripts.js之外,可以更容易地消除

很抱歉,如果这是一个答案显而易见的问题,但我对Jquery的了解非常有限,我不知道如何调试它

在我的网站上,我有一个排名脚本(见中间框中的NFRASES.com),它读取用户点击或向下点击,然后jQuery脚本选择投票,将其发送到Ajax .PHP,以进行MySQL查询,刷新$评级值。我遵循了一个教程,所以为了达到这个目的,一切都很顺利

现在我正试图复制它,但没有任何效果。。。已经尝试了一百万种变化(不知道我在做什么),但没有任何效果。jquery脚本在scripts.js之外,可以更容易地消除bug,但我将在这里粘贴问题区域,以便更好地帮助您帮助我

提前谢谢

HTML部分:

            <ul id="caixacontainer2">       
                <li id="m<?php echo $id_frase ?>">
                    <div class="vote2 <?php verification that returns "active" or "inactive" ?>">  
                        <span class="up"></span>
                        <span class="down"></span>
                        <span class="rating2"><?php echo $rating ?></span>                        
                    </div>
                </li>
            </ul>
还有。。。问题是否可能源于文件scripts.js中已有
$(document).ready(function(){
)文件

再次感谢,感谢你能给我的所有帮助,因为我觉得在这里完全迷失了方向


干杯

我想第一步应该是使用或任何类似的框架,并在网络选项卡中查看您的get请求是否发送到服务器

其次,我建议至少进行一次成功回调,如图所示,以查看调用是否成功


让我们知道它是如何进行的。

我想第一步是使用或任何类似的框架,并在“网络”选项卡中查看您的get请求是否发送到服务器

$.get('ajax.php',{action:'vote',vote:v,'id_frase':id_frase});
其次,我建议至少进行一次成功回调,如图所示,以查看调用是否成功

让我们知道进展如何

$.get('ajax.php',{action:'vote',vote:v,'id_frase':id_frase});
您正在进行一个ajax调用,但在ajax完成时,您从未提供任何成功回调。您需要给它一个函数名(或匿名函数),以便在ajax完成时执行

您正在进行一个ajax调用,但在ajax完成时,您从未提供任何成功回调。您需要给它一个函数名(或匿名函数),以便在ajax完成时执行


请参阅。

正如其他人所说,您应该进行一些调试。查看执行的内容和未执行的内容。在我看来,这一行是错误的,执行将停止在那里:

ratingDiv.text(v + +ratingDiv.text());
一个
+
是多余的


另外:对于在服务器上更改内容的请求,您应该使用
post
(而不是
get
)。这实际上可能并不重要,但有时确实重要(当
get
请求被配置为缓存,因此不会再次发送,而
post
请求则不会).

正如其他人所说,您应该进行一些调试。查看执行的内容和未执行的内容。在我看来,这一行似乎是错误的,执行停止在那里:

ratingDiv.text(v + +ratingDiv.text());
一个
+
是多余的


另外:对于在服务器上更改内容的请求,您应该使用
post
(而不是
get
)。这实际上可能并不重要,但有时确实重要(当
get
请求被配置为缓存,因此不会再次发送,而
post
请求则不会发送)。

您可以拥有尽可能多的$(文档).ready()定义,您可以有任意多个$(document).ready()定义如您所需。我现在有firebug,当我单击其他向上或向下投票时,“网络”选项卡不会显示任何内容。还可以使用回调函数来弹出警报,但什么也没有发生!我现在有firebug,当我单击其他向上或向下投票时,“网络”选项卡不会显示任何内容。还可以使用回调函数来弹出警报,但什么也没有happnes也是!这样做没有结果。我几乎可以肯定问题不是来自ajax.php,因为我已经在www.nfrases.com上使用它了……问题肯定是来自modelo.php?tag_nome=vida中的元素名称以及它们在购买jQuery时的拾取方式。这样做没有结果。我几乎可以肯定问题不是来自e ajax.php,因为我已经在www.nfrases.com上使用它了……问题肯定是modelo.php?tag_nome=vida中的元素名称和获取它们的方式。购买jQuery。嘿,Tom。你的回答说明了这个问题,尽管+可能不是那么多余,因为我已经在网站主页上安装了scrtit,并且运行得非常完美。As您说过执行会在ratingDiv.text(v++ratingDiv.text())处停止;这可能是因为脚本现在不知道ratingDiv是什么。我认为ratingDiv的定义是ratingDiv=li.find('.rating2')),但问题是该页面上有10个ratingDiv…有什么方法可以区分它们吗?就像每个示例中如何定义id\u frase…似乎
ratingDiv
指的是您拥有的第三个
span
(它是通过类
评级2
找到的。它是
最近的li
中的一个。似乎不止一个。其他地方可能有更多,但在
最近的li
中只有一个。如果有更多,你可以给它们不同的
id
来区分它们)。我又看了一遍,额外的
+
确实不是多余的。执行到底在哪里停止?那里的变量值是什么?我真的不知道执行在哪里停止。我知道ajax.php没有收到请求(所以问题肯定出在jQuery部分)。我还必须说,我在这个问题中发布的HTML是在一个循环中,如果你看到它的源代码,你会看到我在这里发布的HTML在该页面中重复了10次。如果你想编程,你应该愿意调试。什么意思是你不知道执行在哪里停止?然后找出答案!你可以使用调试器(如FireBug),甚至是中世纪的好方法,在不同的地方调用
alert()
-ing,看看调用了哪个
alert()