[英]Ajax POST route URL showing 404 in CodeIgniter 4
我在使用 Ajax 和路由時遇到問題。 我正在使用 Codeigniter 4.2.1。
當我嘗試使用 ajax 提交登錄表單時,出現 404 Not found 錯誤。
以下是我正在使用的提及代碼:
HTML 表單
<form id='loginFormScript' method='POST'>
<input type="email" id="emailLogin" name="emailLogin" >
<input type="password" id="passwordLogin" name="passwordLogin" >
<button type="submit">Submit</button>
AJAX 腳本
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
$("#loginFormScript").submit(function(e) {
alert("hello");
e.preventDefault();
$.ajax({
url: '<?php echo base_url('save-user'); ?>',
type: 'POST',
data: $('#loginForm').serialize(),
dataType: "json",
success: function(data) {
//SUCCESS CODE
}
});
});
</script>
路線
$routes->setDefaultNamespace('App\Controllers');
$routes->setDefaultController('Home');
$routes->setDefaultMethod('index');
$routes->setTranslateURIDashes(false);
$routes->set404Override();
$routes->get('/', 'Home::index');
$routes->get('/login', 'Home::login');
$routes->get('/new1', 'Home::loginCheck');
$routes->get('/new', 'Home::login');
$routes->post("/save-user", "Home::saveUser");
我的控制器
namespace App\Controllers;
class UserController extends BaseController
{
public function __construct()
{
helper(['form', 'url']);
}
public function index()
{
return view('welcome_message');
}
public function login()
{
return view('login');
}
public function saveUser()
{
print_r($_POST);exit;
}
}
應用程序/配置/Routes.php
$routes->post("/save-user", "Home::saveUser");
上面的路由定義指向Home
控制器中的saveUser
方法。 然而,根據您上傳的源代碼,該方法存在於完全不同的控制器中。 因此出現404 Not Found
錯誤。
相反,使用這個:✅
$routes->post("/save-user", "UserController::saveUser");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.