我在代码点火器上设置了这条路线:
$route['usuario/dar-baja']['POST'] = 'Private/Clients/dropClient';
但是当我尝试以这种方式提出请求时:
$('#confirmed-drop').click(function(){
var reason=$("#motivos_baja option:selected").val();
$.post("{{ base_url }}usuario/dar-baja",{reason:reason});
});
请求返回 302 重定向,并且发生对同一 URL 的新 GET 请求,并且由于处理 GET 请求的路由不存在,因此我收到 404 页面未找到错误。
它很可能来自CSRF,Codeigniter使用它来确保用户无法重新提交表单。
使用config.php
中的以下步骤在此链接上禁用 CSRF
$csrf_ignore = [
'usuario/dar-baja'
];
$is_csrf_condition_met = true;
foreach($csrf_ignore as $ci){
if (strpos($_SERVER["REQUEST_URI"], $ci) !== FALSE) {
$is_csrf_condition_met = false;
break;
}
}
$config['csrf_protection'] = $is_csrf_condition_met;