JSON数据从phpFox ajax调用?

时间:2011-12-05 06:30:31

标签: ajax json phpfox

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

如何返回JSON数据?以及如何在任何js函数内处理该数据。

2 个答案:

答案 0 :(得分:2)

在文件/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));

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

答案 1 :(得分:0)

我认为问题在于你对ajax调用的工作原理感到困惑。在ajax调用中,无论服务器中发生什么,您的JS代码都会向服务器发送请求并继续执行剩余的javascript代码。所以你要做的是从ajax调用中返回代码:

  

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

在那个逻辑中,最后一个JS代码将调用一个javascript函数,其中包含从“Process in server”阶段获取的信息,你可以调用一个函数并将params传递给该函数,如果你愿意,这些params可能是JSON对象

我在phpfox(ajax调用+使用JSON param调用JS函数)here中做了一个如何做到这一点的示例,希望它有所帮助