Ajax 调用 CodeIgniter 控制器导致 403 Forbidden
Ajax call on CodeIgniter controller results in 403 Forbidden
我正在使用 CodeIgniter 3.x 开发和 Ajax。我有一个可以从我的浏览器访问的控制器/方法。但是,当我尝试使用 Ajax 请求/调用该页面时,它似乎总是导致 403 Forbidden-error。
我在各种搜索引擎(包括 StackOverflow)上进行了搜索,它们都出现了一些类似的问题。他们都没有一个明确的解决方案来解决我的问题,我很长一段时间都被困在这个问题上。我可以使用带有 Ajax 请求的 CI 来访问不加载的页面。我的 CI 配置似乎有问题。
我首先想到了一些与会话相关的问题,但是在 CI 中完全关闭会话之后,它并没有起作用。下面是我用来发出 Ajax-请求的一些代码,在我看来这很好并且应该可以工作(就像在非 CI-页面上一样)。
$.ajax({
url : data_url,
type: 'POST',
data: pay_load,
async: false,
success: function(data) {
result = JSON.parse(data);
}
});
您的 ajax
data
必须 包含隐藏的 CSRF 令牌字段的值。这是通过标准表单操作提交但在执行 ajax
.
时丢失的部分
我正在使用 CodeIgniter 3.x 开发和 Ajax。我有一个可以从我的浏览器访问的控制器/方法。但是,当我尝试使用 Ajax 请求/调用该页面时,它似乎总是导致 403 Forbidden-error。
我在各种搜索引擎(包括 StackOverflow)上进行了搜索,它们都出现了一些类似的问题。他们都没有一个明确的解决方案来解决我的问题,我很长一段时间都被困在这个问题上。我可以使用带有 Ajax 请求的 CI 来访问不加载的页面。我的 CI 配置似乎有问题。
我首先想到了一些与会话相关的问题,但是在 CI 中完全关闭会话之后,它并没有起作用。下面是我用来发出 Ajax-请求的一些代码,在我看来这很好并且应该可以工作(就像在非 CI-页面上一样)。
$.ajax({
url : data_url,
type: 'POST',
data: pay_load,
async: false,
success: function(data) {
result = JSON.parse(data);
}
});
您的 ajax
data
必须 包含隐藏的 CSRF 令牌字段的值。这是通过标准表单操作提交但在执行 ajax
.