2016-07-06 12 views
0

統合の支払いフレームワークのほとんどは、計算されたハッシュを使用してカスタムフォームを作成し、リダイレクトを行う支払いサーバーに提出する必要があります。 フォームの生成はサーバ側で行われます(セキュリティ上の理由から)私はPOSTの入力文字列からハッシュを計算し、ドキュメントがサブミットされたonloadイベントであるようなPHPファイルを取得しているようです。すべて正常に動作します。angularjsで支払いを処理する適切な方法

今や大規模な世界になってきて、ほとんどのコードがユーザー側で処理されるため、ケースが少し違っているようです。 したがって、質問:それを正しく行うには?作業サンプルを共有できますか?

私は以下を試しました: 1.(phpファイルがブラウザによって直接呼び出されたときに動作する)フォームを生成する準備されたphp。角度applicaitonで 2.私はこのようなPOSTをしたています(少なくとも私はこのリダイレクトがブラウザで起こって参照いけない)ここ

$http({ 
      method: "post", 
      url: "./app/components/db/order.php", 
      data: { 
       username: $scope.message.username, 
       phone: $scope.message.phone, 
       // all needed things 

      }, 
     }).success(function (response) { 
      //success 
     }) 
     .error(function(data, status, headers, config) { 
      // failure 
     }); 

主な問題は、PHPのドキュメントを生成していることですが、実際にリダイレクトされていないようです。 なぜ動作していないのか説明できますか? 私の目標を達成する方法をアドバイスできますか?

また、私はPHP側で行われたエコーを理解すると、上記のコードから「成功」セクションに入ることになります。
角度に戻らずにPOSTを行うことはできますか?

私はハッシュを計算し、jsonを使って計算するPHPファイルを準備しました。 2.角度準備式で(生成する必要があるものとまったく同じです) phpファイルにPOSTを実行し、ハッシュを取得し、成功したモデルフィールドを入力します。 4.モデルが準備完了したら、フォームを送信します。

質問anglejsのjsからフォームを送信する方法はありますか? また、そのようなソリューションが安全であるかどうかもわかりません。

私はangularjsで初心者だ:)

とにかく我慢してください。 ご協力いただきありがとうございます!

答えて

0

あなたは、POSTメソッドでHTMLフォームを使用する必要が

あなたもジャバスクリプトdocument.getElementById("myForm").submit();

を使用して、このフォームを送信辞任し、フォームをトリガー、セキュリティのためのフォームを非表示にすることができます <form action="./app/components/db/order.php" method="POSTget"> <input type="text" name="username" value={{message.username}}/> <input type="text" name="phone" value={{message.phone}}/> <input type="submit"/> </form>

このフォームはorder.phpにデータを送信しますが、コードには$httporder.phpへのXHR要求を送信しています。これはサーバからデータを要求するために使用され、クライアントのブラウザは単純にヘッダを無視します。 Location: http://www.example.com/は指定されたURLにリダイレクトするためにですので、リダイレクトは行われていません。

+0

ありがとうございますNitesh。これはこの問題を解決する適切な方法のようです! – razzledazzle

関連する問題