如何在phpFox,ajaxCall中返回JSON数据
在phpFox中我使用的是$.ajaxCall('samplemodule.function' 'data=test');
如何返回JSON数据?以及如何在任何js函数中处理该数据。
发布于 2012-05-20 07:28:25
在文件/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对象,并将用户信息加载到其中。
发布于 2013-03-11 20:59:59
我认为问题在于您对ajax调用的工作原理感到困惑。在ajax调用中,JS代码将向服务器发送一个请求,并继续执行其余的javascript代码,而不管服务器中发生了什么。所以你要做的就是从ajax调用中返回代码:
JS代码-> Ajax调用服务器中的->流程-> JS代码
在上面逻辑中,最后的JS代码将使用从“服务器中的进程”阶段获取的信息调用一个javascript函数,您可以调用一个函数并将参数传递给该函数,如果您愿意,这些参数可以是JSON对象。
我用phpfox (ajax call + call JS function with JSON param) here做了一个例子,希望能对你有所帮助。
https://stackoverflow.com/questions/8381737
复制相似问题