、でJSONデータを返す方法phpFox
はajaxCall
?私は使用してい
ます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));
これで、ユーザーの情報が読み込まれたJSONオブジェクトとしてユーザーが設定されました。
問題は、ajax 呼び出しがどのように機能するかについて混乱していることだと思います。ajax 呼び出しでは、サーバーで何が起こっても、JS コードはサーバーにリクエストを送信し、残りの JavaScript コードを実行し続けます。したがって、あなたがすることは、ajax 呼び出しからコードを返すことです。
JS コード -> Ajax 呼び出し -> サーバーでの処理 -> JS コード
上記のロジックでは、最後の JS コードは「Process in server」ステージから取得した情報を使用して JavaScript 関数を呼び出します。関数を呼び出して、その関数にパラメーターを渡すことができます。これらのパラメーターは、必要に応じて JSON オブジェクトにすることができます。
phpfox でこれを行う方法のサンプルを作成しました (ajax 呼び出し + JSON パラメータを使用した JS 関数の呼び出し) here、それが役立つことを願っています