我尝试在codeigniter中使用ajax获取数据,但是当我向我的控制器发送获取数据的请求时,我收到此错误
不允许您请求的操作。
这是我的ajax代码
$.ajax({
type:'POST',
dataType: 'json',
url: "redeem_drink/testjs",
success: function(data){
console.log(data);
},
error: function(data){
console.log(data);
}
});
请帮我解决如何为获取和发布数据设置ajax代码
答案 0 :(得分:0)
错误是由您当前提交的CSRF值引起的。除非通过获取新的CSRF值作为最后一个表单提交的响应来更新值,否则可以仅使用一次提交表单。
确保更新CSRF值或重新加载将自动刷新CSRF值的页面。
在您的PHP代码中使用代码创建一个新的CSRF值。
$csrf = array(
'name' => $this->security->get_csrf_token_name(),
'hash' => $this->security->get_csrf_hash()
);
return $this->output
->set_content_type('application/json')
->set_status_header(200)
->set_output(json_encode($csrf));
并发送$ csrf数据作为最后ajax提交表单的响应。
现在使用javascript更新所有表单的CSRF。
你可以这样做,在成功函数里面。
$('form').find('input[name='+data.name+']').val(data.hash);