Dex*_*xty 9 javascript php ajax jquery codeigniter
我在这里遇到了一个问题,当我尝试使用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
Alf*_*ava 11
试试(javascript):
var ID = $(".imageWrap:last").attr("id");
var baseurl = "http://localhost/woho/";
var doScroll = 1;
var cct = $.cookie("<?php echo $this->config->item("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,'<?php echo $this->security->get_csrf_token_name(); ?>': cct}, function(data) {
alert(data);
$("#wrapper_content").append(data);
ID++;
});
}
}
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
14376 次 |
| 最近记录: |