Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.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
Php $.get()在单击链接时不起作用_Php_Jquery_Ajax_Codeigniter - Fatal编程技术网

Php $.get()在单击链接时不起作用

Php $.get()在单击链接时不起作用,php,jquery,ajax,codeigniter,Php,Jquery,Ajax,Codeigniter,当用户单击链接时,我试图更新数据库中的表。我想在不加载其他页面的情况下完成它 <a href="#" onclick="capturehit()">Like</a> 这是剧本 <script> function capturehit() { $.get("/sub/updatehit/?aid=<?php echo $article_id; ?>&uid=<?php echo $userid; ?>"); return

当用户单击链接时,我试图更新数据库中的表。我想在不加载其他页面的情况下完成它

<a href="#" onclick="capturehit()">Like</a> 

这是剧本

<script>
function capturehit() {
$.get("/sub/updatehit/?aid=<?php echo $article_id; ?>&uid=<?php echo $userid; ?>");
return false;
}
</script>

函数capturehit(){
$.get(“/sub/updatehit/?aid=&uid=”);
返回false;
}
sub是我的控制器。我正在使用Codeigniter

问题是这不起作用。当我注释$.get()并添加警报(“Hello”)时,单击会出现一个警报框。但我不知道为什么$.get()不起作用


我以前在使用表单时也遇到过ajax和jquery的问题,在这种情况下,我不得不加载整个页面。在这种情况下,我不能那样做,我不想那样做。请帮助我找出问题所在。

如果返回false,您将收到一个警报框。请尝试从脚本中删除返回条件。

是否有输入错误

/sub/updatehit.php/? //shoudn't that be updatehit.php?aid=...

您已经使用了jquery,那么为什么不尝试使用jquery单击功能呢

 $(function(){
    $("#element").click(function(){
       $.get("/sub/updatehit/?aid=<?php echo $article_id; ?>&uid=<?php echo $userid; ?>");
       return false;
    }) 
 })
$(函数(){
$(“#元素”)。单击(函数(){
$.get(“/sub/updatehit/?aid=&uid=”);
返回false;
}) 
})

使用jQuery库和脚本的顺序尝试以下操作:

<script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
<script>
  function capturehit() {
    $.get("/sub/updatehit/?aid=<?php echo $article_id; ?>&uid=<?php echo $userid; ?>");
  }
</script>

函数capturehit(){
$.get(“/sub/updatehit/?aid=&uid=”);
}

您似乎错过了这个脚本顶部的jQuery库。这就是为什么会发生
alert()
,但是您的函数调用没有被触发,因为在您的页面中的脚本
之前,
可能没有jQuery可用。

您说过您使用CodeIgniter,并且“sub”是一个控制器。 所以,“updatehit”必须是控制器的一个方法。 您希望接收这两个参数:aiduid

您的“子”控制器应如下所示:

<?php
class Sub extends CI_Controller {

    public function updatehit($aid, $uid)
    {

    }
}

尝试在开发者工具中查看从服务器(通常称为“网络”选项卡)返回的内容。我签入了网络,xhr-它没有显示任何内容。我的意思是,只需在updatehit.php中添加一些简单的echo语句,然后查看是否返回该字符串,什么都没有发生。当然,您已经检查了在浏览器中导航到URL
/sub/updatehit.php/?aid=123&uid=1
的工作方式是否符合您的预期?如果有一堆if语句,php处理程序可能不会返回任何内容它是根据它期望收到的$\u GET数据来查找的。但是如果我必须调用php pageNo,而不是通过
JQuery$.GET
进行调用,它不会加载新页面吗。只需确保“提交”按钮正在触发功能,而不是提交页面。没有“提交”按钮。这是同样的区别。当您手动转到PHP页面进行测试时,PHP处理程序是否返回任何内容?当我手动转到PHP页面时,它会回显“Hello”,我将其放在那里进行测试,我在问题中进行了更改。它也不能适应变化
<?php
class Sub extends CI_Controller {

    public function updatehit()
    {
        $aid = $this->input->get('aid');
        $uid = $this->input->get('uid');
    }
}
function capturehit() {
    $.get("/sub/updatehit/<?php echo $article_id; ?>/<?php echo $userid; ?>");
    return false;
}
$(function(){
    $("a#like").click(function(){
        $.get("/sub/updatehit/<?php echo $article_id; ?>/<?php echo $userid; ?>/");
        return false;
    });
})