我的jquery代码令我困惑!有时它工作正常,有时没有! 虽然我和css有同样的问题!我想是因为网络浏览器。仍然是同样的问题
JAVASCRIPT CODE
$('.glyphicon-chevron-up').click(function() {
var vote = "up";
var value = $(this).attr('value');
var userid = $('#this').val();
$.post('data.php', {cmtid: value, op: vote, user: userid}, function(data){
if(data == "-1") {
alert('Something went wrong');
}
else if(data == "-4") {
alert('You already voted');
}
else if(data == "-2") {
alert('You cant vote up again');
}
else if(data == "-3") {
alert('You cant vote down again');
}
else {
var vdata = '#vdata' + value;
$(vdata).html(data);
}
});
});
PHP代码
<div class="col-xs-12">
<i class="glyphicon glyphicon-chevron-up" id="voteup" value="<?php echo $comment->data()->id; ?>"></i>
</div>
有什么错误的代码吗?! 看起来很简单
答案 0 :(得分:1)
如果没有澄清,很难说出你的问题是什么。希望这会对你有所帮助。在运行脚本( f12 )之前打开浏览器的控制台,这样它将在debugger;
语句处中断,您可以看到控制台。
如果您从未看到“按钮被点击”。在控制台中,您的问题可能出在您的选择器上。
This article可以帮助您了解有关如何调试这些类型问题的一些提示。 Chrome有一个内置的开发者控制台,在我看来,方式比Firebug更好,但想法是一样的。
祝你好运。$(function () {
console.log('The DOM is ready.');
if ($('.glyphicon-chevron-up').length === 0) {
console.warn('Nothing matches this selector.');
}
$('.glyphicon-chevron-up').click(function () {
console.log('The button was clicked.');
var vote = "up";
var value = $(this).attr('value');
var userid = $('#this').val();
// hit F8 to continue to see if the ajax call works
console.log('about to send', {cmtid: value, op: vote, user: userid});
debugger;
$.ajax({
url: 'data.php',
type: 'POST',
data: {cmtid: value, op: vote, user: userid},
success: function (data) {
console.log('here is the response', data);
debugger;
if (data == "-1") {
alert('Something went wrong');
} else if(data == "-4") {
alert('You already voted');
} else if(data == "-2") {
alert('You cant vote up again');
} else if(data == "-3") {
alert('You cant vote down again');
} else {
var vdata = '#vdata' + value;
$(vdata).html(data);
}
},
error: function () {
console.error('the call failed');
debugger;
}
});
});
});