试图找出如何使这个评级系统工作

时间:2009-05-08 08:31:40

标签: php jquery

我正在使用this page上的脚本。

我下载了页面上找到的整个包,并将URL修改为php文件,如下所示:

$('#rate').rating('output.php', {maxvalue:5});

在output.php中我有这个。该页面的作者说该帖子将调用评级。所以这就是我使用帖子评级的原因。

<?php
if(isset($_POST['rating'])) { 
    header("Location: http://www.google.com");
}
?>

但是当我运行页面并选择几颗星时,没有任何反应。之所以我做标题位置,是因为我想知道这件事是否有效。但这对我不起作用。你们知道我做错了什么吗?

4 个答案:

答案 0 :(得分:2)

您期望它做什么?通过google.com的标题位置,您实际上是重定向AJAX请求,而不是正在进行调用的用户的浏览器。您可以打印“test”并与Firebug核对请求已经发出并返回了文本。

答案 1 :(得分:2)

您正在发送ajax请求。所以你的浏览器不会重定向。 你可以使用firebug一个firefox插件。您可以在那里检查您的ajax请求,以及它们在控制台选项卡上返回的内容。

另外,你正在使用jquery,确保你的javascript是正确的!

答案 2 :(得分:1)

如上所述,使用Firebug优秀的调试控制台来检查您获得的响应。验证ajax请求的正确方法是检查超级全局服务器阵列中的HTTP_X_REQUESTED_WITH键是否包含 XMLHttpRequest 。你可以这样做:

<?php
function isAjaxRequest(){
  return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
}

if(isAjaxRequest(){
  echo 'Hello, Ajax!';
}
else exit;
?>

最佳, 基督教

答案 3 :(得分:0)

你怎么知道什么都没有用?下载Firebug,http://getfirebug.net,转到“NET”标签并执行ajax请求。然后检查你得到什么样的回应。您还必须处理从评级脚本中获得的数据!你只得到javascript位,服务器端编码由你决定!你可以做一个'RATING'post变量的var_dump,并用Firebug调试它。祝你好运!