我正在尝试在CodeIgniter中使用jQuery .post方法;即使我向同一个域发送请求并且应该没有跨域问题,我也会得到空的响应。这是我的代码:
$('#send-transaction').click(function(){
$.post('/authorized/test1',function(data){alert(data);});
});
授权控制器的功能test1()如下:
function test1() {echo "test";}
如何让它返回函数的输出(在本例中为字符串“test”)?
原因在于无效的控制器;将讨论转移到另一个问题:
答案 0 :(得分:1)
Codeigniter包括对跨站点请求伪造(CSRF)攻击的保护。这意味着任何非GET请求都需要包含一个特殊令牌来告诉服务器他们是合法的。
这是一个SO问题,显示how to get that token而不必在页面上呈现表单,here's one with a bunch of answers显示如何将其与ajax请求集成。
答案 1 :(得分:0)
更改PHP代码如下:
function test1() {echo "test"; exit;}