質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • PHP

    20282questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16344questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    13752questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Ruby

    7631questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Backbone.js

    48questions

    Backbone.jsはRESTfulなウェブアプリケーションを構築するJavaScriptフレームワークです。

非同期時の登録処理、更新処理のresponseについて

解決済

回答 2

投稿

  • 評価
  • クリップ 0
  • VIEW 313

enigumalu

score 162

非同期で呼ぶ用処理のresponse項目についての相談になります。
サーバーサイドの登録処理と更新処理を行った結果で画面表示を切替える機能を作成しているのですが、この時に
更新処理が成功していた場合update_flagという項目のみで値0または1を、
エラーだった場合はunfinished_flagという項目のみで値1をフロント側に返そうと思っているのですが、通常の場合もエラーの場合もunfinished_flag、update_flag両方とも項目として返却したほうが自然なのでしょうか、
それともupdate_flagの項目値をupdate_flag:9の場合はエラーのようにして1つの値で区別できるようにした方が良いのでしょうか。

言葉だけだと表現し辛いので案の各項目を記載します

現行案
正常
{
    update_flag:(0 or 1)
}
エラー
{
    unfinished_flag:1
}

質問案1
正常
{
    update_flag:(0 or 1),
    unfinished_flag:""
}
エラー
{
    update_flag:"",
    unfinished_flag:”1}
質問案2
正常
{
    update_flag:(0 or 1)
}
エラー
{
    update_flag:9}
  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 2

checkベストアンサー

+2

ぶっちゃけどのパターンも見かけるものです。フロント側がどういう処理になっていて、どういうふうに返したほうが都合が良いか、それだけのことだと思います。最初からjQueryのdoneとfailのように処理を書く場所自体が違うのであれば現行案ですし、「レスポンスが返ってきた」ことだけを判定して処理が流れているのであれば案1、または案2です。成功、失敗時の項目が増やしやすいのは現行案ですし、定数判定だけで成功失敗状況確認が全て済む案2もいいですし…ただ、あんまり案1は好みじゃないです。

※jQueryのDefferedでfailと対になるのはsuccessじゃなくてdoneだったので修正しました

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/20 11:55

    更新時の成功と失敗(エラー)と、ON OFFがあるかなとおもって分けてい見たのですがいかがでしょうか、
    今現在更新処理のみ考えていましたが、登録処理も同様な挙動の方がいいでしょうか
    更新は更新の是非と更新ステータス(ON 、OFF)がありますが
    登録は正常か異常かなのでステータス項目1つでの判定(案2)になるのか、エラーステータス項目を設けた方がいいのか…

    キャンセル

  • 2017/02/20 12:51

    すみません、質問の意図を読み取り違えていたようです。通常処理とエラー処理のレスポンスを統一すべきかという質問かと思っていましたが、「登録」と「更新」のレスポンスを統一すべきか、という質問だったのですね

    キャンセル

  • 2017/02/20 12:56

    日本語が下手ですいません。登録時と更新時+正常終了時とエラー発生時の両方の挙動でのレスポンスですっ

    キャンセル

+1

update_flagとunfinished_flagの相関関係次第ではないでしょうか?
update_flagとunfinished_flagが表裏一体であれば
むしろupdate_flagのtrueとfalseでやったほうが効率的ですよね。
仕様上どうしても両方利用したいならしてもそれでもよいですが
存在しないフラグをチェックしないとundefinedとなるなら
クライアント側で事前にチェックするか、サーバー側から両方返すか
好きな方を選べばいいでしょう。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2017/02/20 11:55

    更新時の成功と失敗(エラー)と、ON OFFがあるかなとおもって分けてい見たのですがいかがでしょうか、
    今現在更新処理のみ考えていましたが、登録処理も同様な挙動の方がいいでしょうか
    更新は更新の是非と更新ステータス(ON 、OFF)がありますが
    登録は正常か異常かなのでステータス項目1つでの判定(案2)になるのか、エラーステータス項目を設けた方がいいのか…

    キャンセル

  • 2017/02/20 12:25

    回答にも書きましたがupdate_flagとunfinished_flagが排他的な関係で
    ないような仕様でしたら、両方設定すればいいでしょう
    あとは戻り値をチェックするときに両方のフラグをチェックするなら
    両方返してもらってもいいし、フラグが戻ってこないこと自体に
    意味付けをするような仕様であれば戻ってこなくても十分
    実用に耐えうると思います

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 90.53%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

  • 受付中

    dl dtの横並び 縦がずれる

    どなたかわかる方いましたら、よろしくお願いします。 1.beforeで作成した「あああああ」の左下に1行目のdtの「1」が表示されてしまう。ちゃんと下に表示されるようにしたい

  • 解決済

    [jQuery][CSS] 戻るボタンが背面に隠れてしまう。

    Bootstrap3でできているテンプレートに、画面が少ししたに下方に動いたら、画面の上にもどるボタンを表したいと思いますが、CSSの書き方で、わからない部分があるので質問します。

  • 解決済

    z-indexが切り替わらない スタック文脈のせい?

    600px以上で上部にメニューを表示し、300px以上ー600px未満で、トグルメニューを表示しています。 下記ページを参考にしました。 参考にしたページ 600px

  • 解決済

    cssが反映されない

    お世話になります。 cssの記述が間違っているのか、それとも何か他が原因か分かりませんがcssが反映されません。考えられる原因を教えてください。 <!DOCTYPE htm

  • 受付中

    wordpressのサイトタイトルのフォントを変更したい

    wordpressで現在サイトを作成しています。サイトのヘッダーに表示されるサイトタイトルのフォントを変更したいのですがうまく変更できません。 私が行った方法は以下の通りです

  • 解決済

    css validator でWarning が出るが、解決の仕方がわからない。

    今課題でこの写真と同じサイトを作らないといけないのですが、CSS Validator でWarning が出てしまいます。この警告の出どころが ここ何ですが、 どうしたら警

  • 受付中

    16:9 画像のずれ エラー

    [リンク内容] (http://dotinstall.com/lessons/basic_responsivewebdesign/39309) ](eb23af126cf3

  • 解決済

    サイトのデザインについて

    二点わからないことがあります ●右端のバーでに表示されているログアウトアイコンの位置をバーの真ん中におきたい ●商品の説明文と写真を枠線を用いて囲みたいが、これらを包括したdi

同じタグがついた質問を見る

  • PHP

    20282questions

    PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

  • JavaScript

    16344questions

    JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

  • Java

    13752questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

  • Ruby

    7631questions

    Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

  • Backbone.js

    48questions

    Backbone.jsはRESTfulなウェブアプリケーションを構築するJavaScriptフレームワークです。