Codeigniter 4 ajax post导致404错误

问题描述 投票:0回答:1

我正在尝试使用本地主机 xampp 上的 JQuery ajax 函数来处理表单提交。但是,以下内容始终会导致 404 页面未找到错误:

$(document).on("click", ".iconsTop .iconst", function (e) {
    var idfilter = $(this).attr("id");;
    $.ajax({
      type: "POST",
      dataType: "text",
      url: "filter",
      data: { filter_id:idfilter },
      cache: false,
      success: function (data) {
        $('.maincontact').empty().append(data);
      }
    });
  });

控制器:

class App_home extends BaseController
{
    public function filter()
    {
        echo 'ok';
    }
}

路由器

use CodeIgniter\Router\RouteCollection;
$routes->setAutoRoute(true);
$routes->get('filter', 'App_home::filter');

提交表单后,我总是在 Google Chrome 的页面检查器中收到以下错误:

jquery-3.7.1.min.js:2 POST http://localhost/app/public/filter 404 (未找到)

404 找不到控制器或其方法:Filter::index

javascript php jquery codeigniter
1个回答
0
投票

ajax请求类型是POST,但你的路由似乎被定义为GET。将 ajax 请求类型更改为 GET 或将路由更改为 POST。

    $(document).on("click", ".iconsTop .iconst", function (e) {
    var idfilter = $(this).attr("id");;
    $.ajax({
      type: "GET",
      dataType: "text",
      url: "filter",
      data: { filter_id:idfilter },
      cache: false,
      success: function (data) {
        $('.maincontact').empty().append(data);
      }
    });
  });
© www.soinside.com 2019 - 2024. All rights reserved.