我是网页设计的新手,刚开始进入jquery。我试图在我的网站上使用星级评分系统,一旦用户点击星级评级它将刷新星级评分系统。现在,因为它是我需要刷新整个页面,然后刷新并显示平均评级。这可能是一个愚蠢的假设,但我假设你调用了一个本身就是ajax请求的函数,这就是你需要做的就是自动刷新那个区域,这取决于你当然在做什么。以下是带有ajax请求的javascript代码。这整个星级评分系统是我从谷歌搜索中得到的一个,这个文件还有很多,但是我对“ReloadRating”函数进行了很多浓缩,并且仍然得到了与我最初得到的结果相同的结果,所以我就这样离开了。从看看这个,我还应该做些什么才能让它像ajax一样工作?任何建议表示赞赏,谢谢。
function RateItem(varItemId, varRate)
{
$.ajax({
url:"ajax.rate.item.php",
type:"POST",
data:{item:varItemId,rating:varRate},
success:function(ReloadRating){
alert(ReloadRating);
}
});
}
function ReloadRating(requestObj, jsonObj)
{
$.ajax({
url:"Rating::OutputRating",
type:"POST",
data:{$varItem:requestObj},
});
}
功能评分:: OutputRating 等级 {
// Output the Rating information
// Returns a string of HTML
public static function OutputRating($varItem)
{
// Verify $varItem was provided
if ($varItem != null && strlen(trim($varItem)) != 0)
{
// Information for the Output
$averageStars = Rating::CalculateAverageRating($varItem);
// Check to see that the user has not already rated this item
if (Rating::CheckRatingsByIp($varItem) == 0)
{
$classes = Rating::ShowStars($averageStars);
// Write Output HTML for the Rating Data
$output = "\r\n";
$output .= "<ul class=\"rating . {$classes}\" id=\"{$varItem}\">\r\n";
$output .= " <li class=\"one\" ><a href=\"javascript:RateItem('{$varItem}', 1);\" title=\"1 Star\">1</a></li>\r\n";
$output .= " <li class=\"two\"><a href=\"javascript:RateItem('{$varItem}', 2);\" title=\"2 Stars\">2</a></li>\r\n";
$output .= " <li class=\"three\"><a href=\"javascript:RateItem('{$varItem}', 3);\" title=\"3 Stars\">3</a></li>\r\n";
$output .= " <li class=\"four\"><a href=\"javascript:RateItem('{$varItem}', 4);\" title=\"4 Stars\">4</a></li>\r\n";
$output .= " <li class=\"five\"><a href=\"javascript:RateItem('{$varItem}', 5);\" title=\"5 Stars\">5</a></li>\r\n";
$output .= "</ul>\r\n";
}
else
{
$classes = Rating::ShowStars($averageStars);
// Write Output HTML for the Rating Data
$output = "\r\n";
$output .= "<ul class=\"rating . {$classes}\" id=\"{$varItem}\">\r\n";
$output .= " <li class=\"one\">1</li>\r\n";
$output .= " <li class=\"two\">2</li>\r\n";
$output .= " <li class=\"three\">3</li>\r\n";
$output .= " <li class=\"four\">4</li>\r\n";
$output .= " <li class=\"five\">5</li>\r\n";
$output .= "</ul>\r\n";
}
}
答案 0 :(得分:1)
有一个post
请求简单地重新加载数据是很奇怪的。但这更像是一种惯例。
正如Keven B.提到的,你必须对更新页面的请求做些什么。 jQuery中的$.ajax
默认情况下不执行任何操作。
http://api.jquery.com/load/可能正是您正在寻找的东西。它是$.ajax
之上的便利助手。