Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/480.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用<;img>;onclick_Javascript_Php_Html_Ajax - Fatal编程技术网

Javascript 使用<;img>;onclick

Javascript 使用<;img>;onclick,javascript,php,html,ajax,Javascript,Php,Html,Ajax,我在一个类似Youtube的网站上工作。在这里,我对评论中的喜欢/不喜欢选项有困难 我这样做的方式是点击一个图像(thumbsUp.png和thumbsDown.png),我调用一个js函数(以下是php代码,其中$enregistrement=注释): $block.='.$enregistrement[“Likes”]。' . ''.$登记[“不喜欢”]; 我的js函数是: $block .=' <script> function addlike(idCo){ $.aj

我在一个类似Youtube的网站上工作。在这里,我对评论中的喜欢/不喜欢选项有困难

我这样做的方式是点击一个图像(thumbsUp.png和thumbsDown.png),我调用一个js函数(以下是php代码,其中$enregistrement=注释):

$block.='.$enregistrement[“Likes”]。'
. ''.$登记[“不喜欢”];
我的js函数是:

$block .='
<script>
function addlike(idCo){
    $.ajax({
        type: "GET",
        url: "'.APP_SERVICE_PATH.'SetComment.php",
        data: {Like:1, commID:idCo},
        success: function(data){
        },
        error: function(exc){
              alert("Exception: Une erreur a été levé sur $_GET de addLike(). " + exc);
        }
   )};
}

function addDislike(idCo){
    $.ajax({
       type: "GET",
       url: "'.APP_SERVICE_PATH.'SetComment.php",
       data: {Dislike:1, commID:idCo},
       success: function(data){
       },
       error: function(exc){
           alert("Exception: Une erreur a été levé sur $_GET de addDislike().");
       }
  )};
}
</script>';
$block.='
函数addlike(idCo){
$.ajax({
键入:“获取”,
url:“'.APP_SERVICE_PATH.'SetComment.php”,
数据:{Like:1,commID:idCo},
成功:功能(数据){
},
错误:函数(exc){
警报(“异常:Une erreur aétélevésur$_getde addLike()”+exc);
}
)};
}
职能部门(idCo){
$.ajax({
键入:“获取”,
url:“'.APP_SERVICE_PATH.'SetComment.php”,
数据:{不喜欢:1,commID:idCo},
成功:功能(数据){
},
错误:函数(exc){
警报(“例外情况:在$U GET de ADDDREVICE()上出现错误”);
}
)};
}
';
但是onclick从一开始就不会触发!我以前在
标签周围有
标签,它可以工作,但每次点击都会重新加载页面,这是我想要避免的

有人能看出我做错了什么吗


注意:我知道我应该分开php和html,这是糟糕的编码。请不要对此发表“评论”:D

您的代码有多处错误,首先
onclick=“javascript:addLike('.$enregistrement[“Comm_ID”]”)“
这是一个自调用函数(立即调用),您需要在不带括号的情况下注册它

用此
环绕图像,然后像这样调整功能

function addDislike(event) {
    // To prevent the default behavior - following the link
    event.preventDefault();

    var idCo = this.dataset.id;
    // or var idCo = $(this).data("id");

    $.ajax({
        type: "GET",
        url: "'.APP_SERVICE_PATH.'SetComment.php",
        data: {Dislike:1, commID:idCo},
        success: function(data){
        },
        error: function(exc){
        alert("Exception: Une erreur a été levé sur $_GET de 
        addDislike().");
   }

}

我发现了我的错误:我像这样打开ajax:
$.ajax({
然后像这样关闭它
)}而不是
})

什么是
$block.='
?那里你想用php写吗?不对。只需在页面代码的底部直接添加
功能代码
,就可以了。您是否检查过浏览器开发人员控制台中的错误?此外,请检查浏览器开发工具中的“网络”选项卡,查看是否确实发出了请求以及请求返回了什么。您还应该输入一些
console.log()
,查看函数是否首先被调用。如果没有实际的代码,很难判断。在JS上,一旦出现异常/崩溃,代码将停止执行,因此这可能是您的问题。尝试注释整个代码,并发出警报,查看它是否进入函数内部。并尝试在此处发布代码示例。@AlivetoDie我已经在一个php函数中:我在末尾返回
$block
,然后像这样调用我的函数
echo myfunction()
@MagnusEriksson是的,我整个上午都在关注这个问题,我可以看到我的数组
$enregistrement
具有正确的值。但是,即使在浏览器(firefox)调试模式下,我也从未使用过我的js功能。你说的“你需要注册它而不带括号”是什么意思?我已经尝试了你的其他建议,但它仍然不起作用。你需要像这样注册它。
onclick=“add厌弃”
它仍然不起作用:(我将尝试一些其他方法检查你的控制台输出它显示了什么错误?
function addDislike(event) {
    // To prevent the default behavior - following the link
    event.preventDefault();

    var idCo = this.dataset.id;
    // or var idCo = $(this).data("id");

    $.ajax({
        type: "GET",
        url: "'.APP_SERVICE_PATH.'SetComment.php",
        data: {Dislike:1, commID:idCo},
        success: function(data){
        },
        error: function(exc){
        alert("Exception: Une erreur a été levé sur $_GET de 
        addDislike().");
   }

}