2016-06-21 8 views
0

htmlフォームを使用してユーザーデータを収集し、フロントエンドのドメインモデルに変換し、JSONを使用してサーバーにPOSTするインターフェイスを構築することが承認されていますか?フォームを使用してJSONデータをREST APIに送信する必要があります

私は、サーバーがJSONを期待しているにもかかわらず、ユーザー入力部分を論理形式、イベントと考えるのが好きです。ユーザーにとってはすべて同じですから、フォームを使用してデータを収集し、カスタムonSubmitメソッドを実装するだけではいかがですか?別のオプションは、分離された入力フィールドとボタンを使用することです。

これはJSON POSTにフォームを使用するのに適していると考えられますが、このプラクティスの良い結果と悪い結果は何ですか?ここで

答えて

0

は、この上で私の考えです:

長所:

  1. 潜在的にスタンドアロンサービスとして機能するだけでなく、フォームの検証を行うためのWebサービスを再利用することができます。この非標準的な方法を実装する前に、本当にこの必要があることを確認してください。

短所:

  1. あなたは離れて数年のためのHTMLの基本的な機能であり、標準形式/ポストモデルから移動しています。
  2. あなたのユーザーはJavaScriptを使わなければなりません.2016年にはそれほど大したことではありませんが、アクセシビリティが失われています。
  3. 複数のブラウザに対してこの要件を管理する必要があります(複雑さが増します)。
  4. 実装によっては、ページの読み込みランクが遅くなる場合があります。これはSEOやユーザーエクスペリエンスに影響する可能性があります。

私はさらに多くの問題を抱えていますが、あなたの状況は本当にこれを正当化するでしょうか?

0

入力をグループ化し、<form>内のボタンを提出は、セマンティックと良い習慣です、それは単にハードフォーム送信を防止するためにあなたのonSubmitハンドラに渡されたイベントにpreventDefaultを呼び出す必要です。 APIでJSONを話す必要があります。フォームの値を状態値にstate onBlur/onChangeに保存し、jQueryや他のlibを使用してJSONポストを作成するのは簡単です。それが完全に必要ではないが、私は欠点を考えることはできない。ほとんどのユースケースでは、「javascriptなし」シナリオのフォールバックは現実的ではありません。

0

私はそれが悪いアプローチだと思います。

クライアント側では、クライアントロジック、UIロジックなどを実行します。サーバ側の は処理を行います。

多くのAPIでは、資格情報/トークンが必要です...本当にあなたはcliendスクリプトでそれらを共有したいと思っていますか(:

関連する問題