私はAngularJSを使用しており、POSTデータを必要とするベンダーがいます。提出すると、ユーザーは自分のサイトにリダイレクトされます。アクション属性が存在する場合のAngularJSフォームの検証
<form method="post" action="https://api.chargify.com/api/v2/signups">
<input type="hidden" name="secure[api_id]" value="1234" />
<input type="hidden" name="secure[timestamp]" value="1301148971" />
<input type="hidden" name="secure[nonce]" value="5b2763d0-39e1-012e-858d-64b9e8d3946e" />
<input type="hidden" name="secure[data]" value="one=uno&two=dos" />
<input type="hidden" name="secure[signature]" value="412951d095ebbb3800dfb2126fe5073d2ab6c260" />
</form>
See Chargify Direct Signups for more info
私はデータをポストするために$ HTTPサービスを使用することはできませんので、彼らは、CORSのセットアップを持っていません。私は古い学校形式でこれをしなければならないようです。私は角度バリデーションとフォーム提出の防止に関する問題に取り掛かりました。明らかに角度ignores the result of the ng-submit when an action attribute is present。
さらに、フォームにアクション、データアクション、またはxアクション属性が含まれていない場合にのみ、デフォルトアクション(フォームではサーバーにリクエストを送信して現在のページをリロードすることを意味します)を防止します。
検証はHTML5ブラウザの検証には複雑すぎるため、データが無効な場合はフォーム送信を防ぐためにアクセスが必要です。私はちょっとこれに固執しています。これは解決するのは簡単な問題であるはずですが、まともな解決策が今まで私を逃れてきたようです。他の誰かがこの問題を解決したのですか?
http://plnkr.co/edit/p83VEFwJVbRjOoggfNpb?p=preview
たぶん、あなたは、「プロキシ」の要求を作成することができます - (例えばカールを使用して)サービスへのリクエストを投稿しにデータを返すために$ HTTPを使用してウェブサイト上のいくつかのエンドポイントへのコールを作成し、サーバが実行してみましょうクライアント –
データ( –
)私が考えることができる唯一のアイデアは、[redirection-uri](https://docs.chargify.com/chargify-direct-introduction#redirection- uri)パラメータを変更し、ユーザーが戻ったときにクエリのパラメータを確認するページにリダイレクトします。 –