【问题标题】:Codeigniter ajax gives 404 not foundCodeigniter ajax 给出 404 未找到
【发布时间】:2013-06-28 17:28:49
【问题描述】:

我正在尝试将 ajax 与 Codeigniter 一起使用,但出现 404(未找到)错误。

对于 ajax,我这样做:

    $.ajax({
        type: "POST",
        url: "/index.php/ajax/user-sign-up-via-email",
        data: {
            email: email,
            password: password
        }
    });

对于我的 Routes.php,我有这个:

$route['ajax/user-sign-up-via-email'] = "UserSignUpViaEmailAjaxController";

我是否遗漏了一些特定于 Codeigniter 的内容?

是否与第一个 URL 参数是控制器有关,第二个参数是在控制器内调用的函数?

【问题讨论】:

  • 404 是否来自您的网络服务,即apache 还是来自 codeigniter?
  • 我怎么知道?我只是在从 js 返回的控制台中看到它
  • UserSignUpViaEmailAjaxController 类也存在于usersignupviaemailajaxcontroller.php 中并具有index() 功能吗?要查看 404 来自哪一个,请查看控制台的网络选项卡中的响应,并查看 html 是否与 codeigniter 404 页面匹配。
  • 你能直接从你的地址栏试试这个不带ajax的url吗?
  • @BadWolf 谢谢我错过了 index()!

标签: ajax codeigniter


【解决方案1】:

根据 cmets:

确保您正在调用的控制器 (UserSignUpViaEmailAjaxController) 具有 index() 函数。由于您将 uri 直接重新映射到控制器而不指定函数,因此它将默认为 index() 函数,如果找不到,则会返回 404。

【讨论】:

    【解决方案2】:

    我通常这样做..你也可以试试这个

          url: "<?php echo site_url('customersController/addCustomer'); ?>",
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-04
      • 2016-06-23
      • 2016-11-05
      • 2015-07-28
      • 2015-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多