来自phpfoxajax调用的JSON数据?

来自phpfoxajax调用的JSON数据?,ajax,json,phpfox,Ajax,Json,Phpfox,如何在phpFox,ajaxCall中返回JSON数据? 在phpFox中,我使用$.ajaxCall('samplemodule.function''data=test') 如何返回JSON数据?以及如何在任何js函数中处理这些数据 在文件/module/samplemodule/component/ajax/ajax.class.php中,创建一个名为function的函数(根据您的示例) 在该函数中,使用该函数将数据返回到正在进行ajax调用的JS: $this->call('var

如何在
phpFox
ajaxCall
中返回JSON数据?
phpFox
中,我使用
$.ajaxCall('samplemodule.function''data=test')


如何返回JSON数据?以及如何在任何js函数中处理这些数据

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

在该函数中,使用该函数将数据返回到正在进行ajax调用的JS:

$this->call('var myJSONObject=' . json_encode('Your Data Here'));
或者发送一些更有趣的内容,而不是data=test,让我们这样做userId=(他们的用户ID):

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

现在,您已经将aUser设置为JSON对象,并将用户信息加载到其中。

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

JS代码->Ajax调用->服务器中的进程->JS代码

在该逻辑中,最后一个JS代码将调用一个javascript函数,其信息取自“服务器中的进程”阶段,您可以调用一个函数并将参数传递给该函数,如果您愿意,这些参数可能是JSON对象


我在phpfox(ajax调用+调用JSON参数的JS函数)中做了一个示例,希望它有帮助

在ajax.class.php中返回'ReferenceError:not find variable:aUser',您不需要getLib('request'),只要使用$this->get('userId')进行ajax调用就可以了,$this->get('userId');