1

prestashop のコントローラーによって呼び出される新しいページで ajax 呼び出しを行う方法。例:

-ルート フォルダーにあるフォーム ページ コール formulario.php を持っています。

しかし、フォームをチェックするためにAjax呼び出しを行い、エラーまたは結果をdivにロードすると、呼び出したresponse.phpだけでなく、すべてのページがそのdiv内に再度配置されるという問題があります。

これを修正する方法、またはページから ajax 呼び出しを行うためのガイド。ajaxに関するprestashopのドキュメントは明確ではありません

ありがとうございました

4

1 に答える 1

1

このページは見つかりましたか? http://doc.prestashop.com/display/PS15/Using+jQuery+and+Ajax#UsingjQueryandAjax-MakingAjaxcallswithjQuery

モジュールの開発に使用しました。また、ajax呼び出しを使用する他のモジュールに多くのことを取り入れるのにも役立ちます(どのモジュールが機能するか思い出せません)。

ajax 呼び出しを実行する方法は次のとおりです。

var query = $.ajax({
  type: 'POST',
  url: baseDir + 'modules/mymodule/ajax.php',
  data: 'method=myMethod&id_data=' + $('#id_data').val(),
  dataType: 'json',
  success: function(json) {
    // ....
  }
});

あとは、PHP ファイルを作成するだけです。この方法を使用すると、Prestashop コアが読み込まれないため、Prestashop 機能を使用する場合は手動で行う必要があります。

// HTTP headers for no cache etc
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

require_once(dirname(__FILE__).'/../../config/config.inc.php');
require_once(dirname(__FILE__).'/../../init.php');

JSON 出力を生成するには、次を使用できます。

die(Tools::jsonEncode($myArrays));

あなたが必要なものを手に入れたことを願っています。

于 2013-09-19T19:26:28.453 に答える