2011-04-05 4 views
0

まず、私はMagentoとPHPが初めてであることを認めなければなりません。カスタムモジュールの設定を書いています。私はいくつかの情報の入力を許可し、その情報をWebサーバー上のサーブレットに送信します。このサーブレットは処理され、レスポンスは返され、読み取り専用フィールドの構成GUIに表示されます。カスタムモジュール構成guiを取得して別のWebサーバーに情報を送信するにはどうすればよいですか?

私は様々なウェブ記事から、他のモジュールのコードを見て私の指導を得ています。同様のことを行うモジュールは、PayPalモジュールです。ただし、ユーザーがログインして詳細を入力する新しいブラウザウィンドウが表示されます。収集したデータを送信して応答を待つだけです。

私のsystem.xmlファイルでは、frontend_modelを指定します。そのfrontend_modelでは、_prepareLayoutメソッドはテンプレートを自分のテンプレートに設定し、そのテンプレートにはHTMLボタンがあります。そのボタンにonClickイベントハンドラを追加して、私のWebサイトにAJAX呼び出しを行いました。当然のことながら(私が想定しているのと同じオリジン・ポリシーのため)、AJAX呼び出しは0のコードで失敗します。

私がやっていることは、ユーザーがボタンをクリックしたときに、他のフィールドは、Magentoサーバーに送信され、そこからAJAX呼び出しがWebサイトに送信されます。あるいは私のアプローチは完全に間違っており、これを達成するためのより適切な方法がありますか?

ありがとうございます。

答えて

1

あなたは同じ発信元ポリシーについて正しいです。ここでの最善のアプローチは、ボタンをリモートのサーブレットにリクエストを転送してフィードバックを処理するためにcurlや他のHTTPリクエストライブラリを使用するローカルのマゼンタベースのコントローラへのajax呼び出しをトリガさせることです。

+0

Anton(CORS、JSONPではなく)が提案した方法を使用して、この作業を行っています。コントローラメソッドはより良い解決策と思えます。 Magentoにとって初めてのことですが、私はAlan StormのサイトでControllersを読んでいますが、ブラウザに入力されたURLの観点からコントローラについてのみ話しています。私は自分のphtmlファイルからコントローラを取得する方法を知らない。私の.phtmlページのjavascriptでは、これをやってみました<?php echo get_class(Mage :: getController( "mymodule/mycontroller")); ?>私がコントローラを手に入れることができるかどうかを見るだけですが、それはその行に落ちました。助けて? – user649650

0

「JSONP」またはGoogleと同じことをここで検索してみてください。使用しているjavascriptライブラリに依存して、あらかじめ作成されたコンポーネント/プラグインを使用して、後で何を達成するかを決定します。

関連する問題