所以,我有这个问题。我正在使用一个名为jRating的插件,它实际上是jquery中的评级系统。我的问题是,onClick
,ajax请求触发两次。
经过大量搜索,我尝试了这些东西:
$(document).ready(function(){}
和jQuery快捷方式$(function() {});
在页面中不是两次。所以,这是我的代码:
jQuery的:
$("#rating").jRating({
step:true,
length : 5,
canRateAgain : true,
nbRates : 3,
onClick : function(element,rate) {
var data = (rate, 1);
$.ajax({
url: 'application/index/rate',
type: 'POST',
dataType: 'x-www-form-urlencoded',
async:false,
contentType: 'application/x-www-form-urlencoded',
data: rate,
success: function () {
console.log('SUBMIT WORKS');
},
error: function () {
console.log('There is error while submit');
}
});
}
});
pHTML:
<div id="rating" data-average="<?=$average //note that this is working everytime!?>" data-id="1"></div>
感谢您的任何投入!
编辑:JsFiddle:http://jsfiddle.net/Je79U/;
要重新创建问题,请单击“运行”,然后转到控制台/网络,清除所有内容,然后单击黄色/橙色栏上的任意位置,进行评级,并查看会发生什么。感谢你的宝贵时间!
答案 0 :(得分:1)
参考http://demos.myjqueryplugins.com/jrating/,已经jRating将作为ajax工作。所以,它需要ajax运行两次
请清楚查看他们的演示网站。
一旦你评价,它会将记录更新为http://demos.myjqueryplugins.com/jrating/php/jRating.php
并使用以下版本的jRating https://github.com/alpixel/jRating