2011-12-05 140 views
1

如何返回phpFoxajaxCall中的JSON数据?
phpFox我正在使用$.ajaxCall('samplemodule.function' 'data=test');JSON数据来自phpFox ajax调用?

如何返回JSON数据?以及如何处理任何js函数中的数据。

回答

2

在文件/module/samplemodule/component/ajax/ajax.class.php中,创建一个名为function的函数(根据您的示例)。

内部的功能,使用此要返回数据给JS你让你的Ajax调用在:

$this->call('var myJSONObject=' . json_encode('Your Data Here')); 

或者送东西更有意思,而不是数据=测试,让我们做用户id =(他们的用户ID)像这样:

$iUserId = Phpfox::getLib('request')->getInt('userId'); 
$aUser = $aUser = Phpfox::getService('user')->getUser($iUserId); 
$this->call('var aUser =' . json_encode($aUser)); 

现在你有一个用户设置为一个JSON对象,用户的信息加载到它。

+0

喜晶体管低音感谢您的答。 – SKG

+0

这将返回'ReferenceError:找不到变量:aUser' – Goddard

+0

您不需要getLib('request')的ajax.class.php中,只要$ this-> get('userId')使用$ .ajaxCall('blah.blah','userId = 321')的ajax调用; – Purefan

0

我认为问题在于您对ajax调用的工作方式感到困惑。在ajax调用中,您的JS代码将向服务器发送请求,并继续执行剩余的JavaScript代码,而不管服务器中发生了什么。所以,你要做的是从Ajax调用返回代码:

JS Code -> Ajax Call -> Process in server -> JS Code

在这种逻辑aboce,最后JS代码会打电话与信息javascript函数从舞台上“服务器进程”拍摄,您可拨打函数并将params传递给该函数,如果您愿意,这些参数可能是JSON对象。

我做的如何做到这一点的phpfox(Ajax调用+呼叫使用JSON PARAM JS功能)here的样本,希望它有助于