首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CodeIgniter上的ajax出现403错误

CodeIgniter上的ajax出现403错误
EN

Stack Overflow用户
提问于 2018-05-26 17:44:09
回答 3查看 187关注 0票数 0

我想在我的CodeIgniter应用程序上使用Ajax (带有JQuery插件数据表),但是当我输入控制器的地址时,我得到了一个403错误。我使用的是Codeigniter的3.1.8版本。我的代码:

代码语言:javascript
运行
复制
$('#Table').DataTable( {
    "processing": true,
    "serverSide": true,
    ajax: {
        url: '<?= base_url('myController/data');?>',
        "type": "POST"
    },
    "columns": [
        { "data": "col1" },
        { "data": "col2" },
        { "data": "col3" },
    ]
} );

我尝试将$config‘’csrf_regenerate‘设置为false,但没有任何更改

EN

回答 3

Stack Overflow用户

发布于 2018-05-26 18:46:29

您还需要一个csrf令牌才能与ajax数据一起传递。如果没有它,你会得到403错误。由于$ config‘’csrf_regenerate‘在您的配置中为false,因此您只需获取一次令牌值,并在所有请求中使用它。

使用下面的函数获取令牌名称并为其获取一个值。

代码语言:javascript
运行
复制
$this->security->get_csrf_token_name();
$this->security->get_csrf_hash();

在控制器方法中,使用上述方法设置$data['csrf_token_name']$data['csrf_token_hash']的值,这些方法将在下面的视图代码中使用。

代码语言:javascript
运行
复制
$('#Table').DataTable( {
    "processing": true,
    "serverSide": true,
    ajax: {
        url: '<?= site_url('myController/data');?>',
        "type": "POST",
        data: { '<?php echo $csrf_token_name; ?>' : '<?php echo $csrf_token_hash; ?>' }
    },
    "columns": [
        { "data": "col1" },
        { "data": "col2" },
        { "data": "col3" },
    ]
} );
票数 1
EN

Stack Overflow用户

发布于 2018-05-26 18:07:37

您的Url应如下所示:

代码语言:javascript
运行
复制
url: "<?= base_url('myController/data');?>",
票数 0
EN

Stack Overflow用户

发布于 2018-05-26 18:35:18

代码语言:javascript
运行
复制
"url": base_url + 'myController/data',

尝试将此作为您的url,在myController中回显,看看您是否要转到该url。

我希望你有权限访问那条路径。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50541403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档