🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

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

Q&A

解決済

1回答

1739閲覧

【Vue.js(VueCli3 / axios】axios.defaults.headers.common["Authorization"]が出来ない

frtne

総合スコア29

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

JavaScript

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

0グッド

0クリップ

投稿2019/11/02 09:33

編集2019/11/02 09:35

本来は以下のようなコードで、レスポンス(エラー403ですが..)を受け取りたいのですが、

axios.defaults.headers.common["Authorization"] = 'jsjsjsjsjs';

以下のように自動変換されてしまいます。

axios.defaults.headers.common.Authorization = 'jsjsjsjsjs';

①と②は同義になるでしょうか?

axios.defaults.headers.common.Authorization = 'jsjsjsjsjs';
の場合、開発者ツールNetwork/Responseにて
「this request has no response data available」が表示されています。
(※本来(["Authorization"])の場合は、403が表示されているはず)

よろしくお願い致します。

気になる質問をクリップする

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

①と②は同義になるでしょうか?

同義になります。

レスポンスはおそらく期待通り 403 コードで返されていると思います。

質問者さんが御覧になった、this request has no response data available は 「このリクエストは利用できるレスポンスを返しませんでした」 といった趣旨の内容です。
おそらく、レスポンスコードではなく、 レスポンスボディ を確認しているためこのような表記になっているものと思います。

一方、期待されている 403 はおそらく HTTP レスポンスの「権限がない」といった旨のレスポンスに利用されるコードで、これは レスポンスヘッダー に含められる内容です。

投稿2019/11/02 10:21

R.Mizukami

総合スコア1086

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

frtne

2019/11/02 12:48

ご回答ありがとうございます! 2分類あるのですね、、、 レスポンスボディ と レスポンスヘッダーは 大きく分けると、どういった違いがあるのでしょうか?
R.Mizukami

2019/11/02 13:26

ボディはやり取りしたい情報の本体部分、ヘッダーは本体部分を解釈するために必要な補足情報(エンコードの方法や接続に関する情報など)が格納されています。ヘッダとボディは別々に送られてくるというわけではなく、ヘッダーの後ろにボディがつなげて送られてきます。今回のように、ボディ部分が空で行われる通信もあります。 正確さに欠ける説明で恐縮ですが、雰囲気を理解する助けになればと思います。正確な情報は HTTP や HTTPS の仕様を確認してください。
frtne

2019/11/04 12:40

ご返信ありがとうございます!(コメント遅くなりすみません...) ざっくりと自分なりの解釈なのですが、例えば... ツイッターで考えると ヘッダでログイン者を判別して、 ボディでログイン者に応じたツイートを表示する というようなイメージでしょうか??
R.Mizukami

2019/11/05 12:16

おそらく通信の仕様の理想としてはそんなイメージだったのだと思います(実際には、ボディ部分にユーザー識別情報を含めて認証管理を行う方法も普及してるようですが)。 ブラウザの開発者ツールを確認すると、ウェブサーバーとの間にどのような通信が発生しているか確認できます。多くの主要ブラウザで、F12で開くことのできる開発者ツールのネットワークタブを開いた状態でページのリロード等サーバーとの通信を行うと、行われている通信の内容が確認できます。
frtne

2019/11/05 15:14

なるほど、、ご回答ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問