我有一个漂亮的图标在我的HTML作为一个按钮,我想使用javascript和触发它的AJAX风格
<a href="#"><i id="heart" class="jam jam-heart-f"></i> Like</a>
这里是在javascript中触发它的尝试-但我没有得到任何错误来跟进。我尝试将类似的尝试发布到PHP页面like.php,以添加到数据库的链接。
$(document).ready(function()
{
$('body').on("click",'#heart',function()
{
var videoId = "<?php echo $video_id; ?>";
var A=$(this).attr("id");
var B=A.split("like");
var messageID=B[1];
var C=parseInt($("#likeCount"+messageID).html());
$.ajax({
method: 'POST',
url: 'like.php',
data: {videoId: videoId},
cache: false,
success: function(result){
likeInfo = JSON.parse(result);
$("#likeCount1").html("Likes:" + likeInfo.likeCount);
//document.getElementById("likeCount1").value = likeInfo.likeCount;
//$("#likeCount1").html(likeCount);
}
});
}
});
我不认为#heart在JS中似乎是由带有字体棒的图标的id="heart“触发的。你知道我怎么才能把它组装起来吗?
发布于 2018-06-25 07:28:01
您的代码正确地触发了post请求,但是您没有正确地关闭函数和作用域。
我在这里尝试过:http://jsfiddle.net/4cohrz5p/
以及让stackoverflow保持良好状态的代码:
$(document).ready(function() {
$('body').on("click", '#heart', function() {
var videoId = "<?php echo $video_id; ?>";
var A = $(this).attr("id");
var B = A.split("like");
var messageID = B[1];
var C = parseInt($("#likeCount" + messageID).html());
$.ajax({
method: 'POST',
url: 'like.php',
data: {
videoId: videoId
},
cache: false,
success: function(result) {
likeInfo = JSON.parse(result);
$("#likeCount1").html("Likes:" + likeInfo.likeCount);
//document.getElementById("likeCount1").value = likeInfo.likeCount;
//$("#likeCount1").html(likeCount);
}
});
});
});
此外,javascript控制台为您的代码显示Uncaught SyntaxError: missing ) after argument list
。当您单击中心时,打开network-tab查看传出的请求,并可以检查它们是否发送了正确的数据(以及响应!)。
任何像样的js编辑器都会在运行代码之前显示这个错误。试试VS Code。免费的,轻量级的,总体上相当不错。
发布于 2018-06-25 07:29:14
您忘记为$(‘.on’)主体添加右括号和分号...语句
试试这个:
$(document).ready(function()
{
$('body').on("click",'#heart',function()
{
var videoId = "<?php echo $video_id; ?>";
var A=$(this).attr("id");
var B=A.split("like");
var messageID=B[1];
var C=parseInt($("#likeCount"+messageID).html());
$.ajax({
method: 'POST',
url: 'like.php',
data: {videoId: videoId},
cache: false,
success: function(result){
likeInfo = JSON.parse(result);
$("#likeCount1").html("Likes:" + likeInfo.likeCount);
//document.getElementById("likeCount1").value = likeInfo.likeCount;
//$("#likeCount1").html(likeCount);
}
});
});
});
https://stackoverflow.com/questions/51014683
复制相似问题