相关疑难解决方法(0)

Codeigniter(CSRF)jQuery ajax问题

我在这里遇到了一个问题,当我尝试使用ajax(POST)发布内容时,我一直收到错误.我知道CSRF给了我这些问题,并且我一直在尝试寻找解决方案.但是,我希望有人可以帮助我!

这是我一直得到的错误(来自谷歌浏览器检查员),

*无法加载资源:服务器响应状态为500(内部服务器错误)XHR已完成加载:"http:// localhost/woho/ajax/images".*

PHP(控制器)

class Ajax extends CI_Controller {

    function images() {

        echo 'Hello World';

    }

}
Run Code Online (Sandbox Code Playgroud)

使用Javascript

var ID = $(".imageWrap:last").attr("id");
var baseurl = "http://localhost/woho/";
var doScroll = 1;
var cct = $.cookie('csrf_cookie_name');

if (location.href == baseurl) {
    $(window).scroll(function(){
        if ($(window).scrollTop() > $('body').height() / 2) {
            if(doScroll == 1) {                   
                $.post(baseurl + 'ajax/images',{'id' : ID, 'csrf_token_name': cct}, function(data) {
                    alert(data);
                    $("#wrapper_content").append(data);
                    ID++;
                });
            }
        }
    });
}
Run Code Online (Sandbox Code Playgroud)

我的CCT var来自javascript给了我正确的令牌或"哈希"但是当javascript发送ajax请求时,codeigniter返回一个错误,如,

一个错误遇到您所请求是不允许的行动.

我怎样才能解决这个问题?我是否需要在控制器中验证CSRF令牌或其他内容?

我正在使用Codeigniter 2.0.3

javascript php ajax jquery codeigniter

9
推荐指数
1
解决办法
1万
查看次数

403 在 CodeIgniter 中使用 ajax 出现禁止错误

我正在textbox使用 ajax在我的自动完成中显示名字,但我的 ajax URL 不起作用。每次都显示在网络选项卡中

403 禁止。

我试过这样的ajax URL

 url:baseUrl + "/index.php/Employee_control/search_with_emp_name",
 url:baseUrl +"/Employee_control/search_with_emp_name",
Run Code Online (Sandbox Code Playgroud)

但仍然显示相同的错误。

我的 .htaccess 代码

RewriteEngine on
RewriteCond $1 !^(index\.php|resources|robots\.txt)
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php/$1 [L,QSA] 
Run Code Online (Sandbox Code Playgroud)

我的基本网址$config['base_url'] = 'http://localhost/test/';

我的看法

<input type="text" class="form_control" name="employee_name" id="employee_name">
Run Code Online (Sandbox Code Playgroud)

客户.js

var getUrl = window.location;
var baseUrl = getUrl.protocol + "//" + getUrl.host + "/" + getUrl.pathname.split('/')[1];


    $(document).ready(function() {
       $("#employee_name").keyup(function() {
           var emp_name = $('#employee_name').val();
              $.ajax({
                   type: "POST",
                   url:baseUrl + "/index.php/Employee_control/search_with_emp_name",
                   data: {
                      emp_name: …
Run Code Online (Sandbox Code Playgroud)

php codeigniter codeigniter-3

2
推荐指数
1
解决办法
4336
查看次数

标签 统计

codeigniter ×2

php ×2

ajax ×1

codeigniter-3 ×1

javascript ×1

jquery ×1