4

我正在使用启用了 csrf 保护的 CodeIgniter 和 Bootstrap 3 和 twitter typeahead 0.9.3 我需要使用 csrf 键发布我的查询。我花了一天时间搜索这个。尝试了 beforeSend 选项,但它在这里不起作用是我的代码:

$('input[name="search"]').typeahead({
        name:"companies",
        remote:{
            url:"{/literal}{site_url('tender/search_suppliers')}/{literal}",
            beforeSend:function(jqXhr,settings){
                settings.type = 'POST';
                settings.data = { csrf_test_name: $.cookie('csrf_cookie_name')}
                settings.hasData=true;
                settings.hasContent=true;
                return true;
            }
        }

    });

此代码未发布,也未将类型从 GET 更改为 POST SORRY 以获取我的英语

4

1 回答 1

2

我遇到了同样的问题 RE: CSRF Protection in codeigniter 并运行任何类型的基于 ajax 的函数。

我将此函数添加到我的所有页面上加载的主 site.js 文件中,因此包含在我的所有 ajax 调用中:

$.ajaxSetup( data: { csrf_test_name: $.cookie('csrf_cookie_name') } );  
于 2013-11-27T19:34:30.357 回答