1

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

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

4

2 回答 2

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));

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

于 2012-05-19T23:28:25.163 回答
0

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

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

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

我在 phpfox (ajax call + call JS function with JSON param) 中制作了一个示例,希望对您有所帮助

于 2013-03-11T12:59:59.060 回答