我不能理解为什么我不能做一个以上的请求而不刷新页面。
任何请求都运行良好,但是如果我需要执行另一个请求(不要介意它是否相同)。。。 我不能! 我需要刷新页面来执行一个新的请求,否则,我将得到错误403。
如果你问我要密码。。。 我不知道您到底需要什么,因为所有的代码都在工作,只是,任何请求都在完成刷新页面。
我不喜欢,因为我认为这不是专业的。
我需要在codeigniter中更改什么以允许多个请求而不刷新页面? 我找不到了!
有人帮忙吗?
@Vickel这是其中一个请求(都差不多,只是url和数据)。。。 没有表格。
function set_tracking(order_id)
{
$.ajax({
type: "POST",
data: {
order_id: order_id
},
url: trackingURL,
beforeSend: function() {
$('.lds-default').removeClass('hidden');
},
success: function (response) {
console.log(response);
if(response.error)
{
show_form_errors(lang['productions_error_not_set_tracking']);
} else {
$('#set_tracking .modal-title').html(lang['productions_set_tracking_title']);
$('#set_tracking').modal('show');
$('#set_tracking #order_id').val(order_id);
}
},
error: function (event) {
if (event.status !== 401) {
show_form_errors(lang['companies_error_deleting_segment']);
}
},
complete: function() {
$('#confirm_message').modal('hide');
$('.lds-default').addClass('hidden');
}
});
}
您将遇到一个过期的CSRF令牌。 有多种解决方法(每种方法的复杂度和安全级别不同)
1.-完全禁用CSRF(不建议使用,除非您的所有表单都位于安全区域内,每个人都已登录并且无法获得跨域请求,这是不可能的。
2.-定义CSRF功能的例外情况。 在application/config/config.php
中,您可以找到一个名为$config['CSRF_exclude_URIS']
的数组,在该数组中,您可以添加希望不强制CSRF检查的所有控制器/方法对
3.-禁用CSRF再生。 在application/config/config.php
中,可以将$config['CSRF_Regenerate']
设置为false
。 这将防止在每次请求后重新生成CSRF令牌,这将允许您在不被CSRF检查阻止的情况下进行多次提交
4.-在第一次提交后手动获取一个重新生成的令牌,并与第二次提交一起传递。 这是解决问题的最安全的方法,但也是最复杂的。 您可以在这里的CodeIgniter的安全类文档中深入了解这一点