Php Ajax请求从FB画布失败,但在域上工作(CodeIgniter)

Php Ajax请求从FB画布失败,但在域上工作(CodeIgniter),php,ajax,facebook,codeigniter,Php,Ajax,Facebook,Codeigniter,我有以下问题。我有一个可以工作的PHP/CodeIgniter应用程序,现在我正在将它集成到Facebook中 但是,AJAX POST请求失败,出现错误400,我在控制台中看到CodeIgniter抛出一个错误,说您提交的URI含有不允许的字符。 这是URL:https://domain-name.com/apps/main/go_to_game/id=453494284796333&redirect 没有特别的角色或任何东西 是什么让它更令人困惑: 1) 当我直接(而不是通过FB)在域上打开

我有以下问题。我有一个可以工作的PHP/CodeIgniter应用程序,现在我正在将它集成到Facebook中

但是,AJAX POST请求失败,出现错误400,我在控制台中看到CodeIgniter抛出一个错误,说您提交的URI含有不允许的字符。

这是URL:
https://domain-name.com/apps/main/go_to_game/id=453494284796333&redirect

没有特别的角色或任何东西

是什么让它更令人困惑:

1) 当我直接(而不是通过FB)在域上打开应用程序时,请求生效

2) 对类似URL的请求即使从FB发送也有效。这是URL:
https://domain-name.com/apps/main/get_user_stuff
/

这是发送请求的代码,非常基本的东西:

$.post(base+"main/go_to_game/"+gid,function(resp){
    //handle response
});

其中
base
https://domain-name.com/apps/
gid
是一个整数。有什么想法吗?

您需要检查配置项
$config[allowed_uri_chars]
@karanthakkar
$config['allowed_uri_chars']='a-z 0-9~%:\u \-不要紧,我想出来了-是
&
被禁止了(这有点可笑,但现在还没有考虑到这一点)。不管怎样,当请求不是从Facebook发送时,URL中没有
&重定向
,这就是问题只发生在那里的原因。