使用jquery将FQL结果发布到cakephp控制器的最佳方法

时间:2011-11-19 23:55:56

标签: jquery ajax json cakephp facebook-fql

我有一个fql结果,它是一个javascript对象,如下所示:

[{"name":"3904","fql_result_set":[{"like_count":"0"}]},{"name":"7617","fql_result_set":[{"like_count":"0"}]},{"name":"9674","fql_result_set":[{"like_count":"0"}]}]

我找不到一种方法将它传递给我的控制器,以便能够从我的控制器访问数据,并作为一个简单的测试回显给我。

我可以将简单的json字符串(如{"name":john","id":2323})发送到控制器并让它在控制器中使用$this->params[form]['name'] & $this->params['form']['id]将其发送回去,但我不确定如何格式化FQL结果以发送它通过ajax到我的蛋糕控制器并使用cakephp检索它。我是否需要对其进行字符串化,还是应该进行迭代并创建一个简单的json json字符串?

1 个答案:

答案 0 :(得分:0)

我能够通过为整个json对象添加一个名称来解决这个问题,以便在发布时 对于控制器,可以使用名称/值约定访问它。在这种情况下,名称是数据,值是数组。如果不向对象添加名称,则对象中的数据将无法完整地保存到控制器。

{"data":[{"name":"3904","fql_result_set":[{"like_count":"0"}]},{"name":"7617","fql_result_set":[{"like_count":"0"}]},{"name":"9674","fql_result_set":[{"like_count":"0"}]}]}

现在可以像这样访问它:$this->data[0]['name']$this->data[0]['fql_resut_set'][0]['like_count']