Codeigniter Ajax - 无法正常工作获取网络错误

时间:2012-09-06 15:42:48

标签: codeigniter

我是CI的新手。

我试图制作一个ajax进程。 但是我收到了以下错误。

NetworkError:500内部服务器错误 - 不允许您请求的操作

这是我的代码

 <script type="text/javascript">
    $(document).ready(function() {
       $('#submit').click(function() {
            var form_data = {
            comment : $('#comment').val(),
            ajax : '1'
       };
       $.ajax({
          url: "<?php echo $this->config->item('base_url'); ?>comment/insert",
          type: 'POST',
          async : false,
          data: form_data,
          success: function(msg) {
           $('#emsg').html(msg);
          }
       });
      return false;
   });
 });
 </script>
 But when i access the url directly 
 <?php echo $this->config->item('base_url'); ?>comment/insert

它正常工作。

所以请帮我解决这个问题。

感谢所有

2 个答案:

答案 0 :(得分:1)

这里有几件事:

如果您要使用base_url,则无需将其分配给配置阵列或从配置阵列访问它。它可以base_url()使用。与site_url()一样。查看URL Helper上的CodeIgniter文档。

现在,话虽如此,我建议您在site_url()base_url()中完全不使用hrefsrc功能,但< EM>一旦:

在HTML文档的<head>中,使用<base>标记。如果你写:<base href="<?= site_url();?>">,你可以使用controller/function来引用所有的控制器和函数。无需继续调用site_url()base_url(),因为<base>指定了文档中包含的所有相对网址的基本网址。

接下来,如果您遇到500个内部服务器错误,请确保已启用PHP错误报告。在控制器的构造函数中调用error_reporting(E_ALL);。现在发生错误时,使用Chrome开发工具检查服务器的响应;触发ajax请求并进入开发工具的网络选项卡。找到Ajax POST,单击它,您将能够检查服务器响应的内容。

答案 1 :(得分:0)

由于以下原因导致此问题

  1. syntex错误
  2. 控制器或型号中的重复功能