【问题标题】:Ajax Call With CodeIgniter Using Post使用 Post 使用 CodeIgniter 进行 Ajax 调用
【发布时间】:2014-07-11 19:22:32
【问题描述】:

我正在使用 Ajax 对我的一个控制器使用简单的 POST,但是在我的开发工具中,它似乎永远无法找到控制器。我收到错误

POST http:// localhost:8888/time.php/checkit 404 (Not Found) 

我不确定这是否与 CodeIgniter 的路由或 .htaccess 文件有关。

我的 Ajax 调用如下所示:

  $("#submittodo").click(function () {
      $.ajax({
          url: 'time.php/checkit',
          type: "POST",
          data: {name: $(this).val()},
          success: function (data) {
           alert(data);
          }
      });
  });

【问题讨论】:

  • 可以在浏览器中访问http://localhost:8888/time.php/checkit吗?对于看起来像一个非常奇怪的 url 的代码点火器。你想打 /time/checkit 吗?你能详细说明这里出了什么问题吗?没什么可继续的。

标签: jquery ajax codeigniter post


【解决方案1】:

你需要在你的 url 中包含 base_url():

$("#submittodo").click(function () {
  $.ajax({
      url: '<?php echo base_url()?>time.php/checkit',
      type: "POST",
      data: {name: $(this).val()},
      success: function (data) {
       alert(data);
      }
  });
});

另外,检查您的配置文件,如果您将 $config['csrf_protection'] 设置为 TRUE,您还需要像这样获取 csrf 令牌:

var post_data = {
    'name': $(this).val(),
    '<?php echo $this->security->get_csrf_token_name(); ?>' : '<?php echo $this->security->get_csrf_hash(); ?>'
};

$("#submittodo").click(function () {
  $.ajax({
      url: '<?php echo base_url()?>time.php/checkit',
      type: "POST",
      data: post_data,
      success: function (data) {
       alert(data);
      }
  });
});

【讨论】:

    【解决方案2】:

    如果您使用 CI,则需要遵循 URL 结构,例如:域。 com/controller/method.c 在你的情况下:

    URL : '<?Php echo base_url( ) ?>time/checkit',
    

    请注意,控制器名称中没有附加 .Php。并且使用了绝对 URL。

    【讨论】:

      【解决方案3】:

      这样试试

       $("#submittodo").click(function () {
            $.ajax({
                url: '<?Php echo base_url(); ?>time/checkit',
                type: "POST",
                data: {name: $(this).val()},
                success: function (data) {
                 alert(data);
                }
            });
        });
      

      【讨论】:

        猜你喜欢
        • 2012-07-30
        • 1970-01-01
        • 2023-04-07
        • 1970-01-01
        • 1970-01-01
        • 2012-01-19
        • 1970-01-01
        • 2017-02-09
        • 2015-07-22
        相关资源
        最近更新 更多