使用axiosが解決POSTリクエストと原則を送信VUEピット

はじめに:リクエストを送信する際に成功axios使用しない理由だけで同僚は、この問題が発生したプロジェクトを行う際に、尋ねるが、要求はデータよりも少ないですが、与えられている、次の図は、エラー要求神です

次のようにコード内VUEは、次のとおりです。

   this.$http.post('/getMatterList.do',{"matterIds":"1,2,3"})
     .then((res)=>{ console.log(res); })

一見、何も間違ってはああ、そのような要求は、それのようにデモの公式ドキュメントaxios、それで作られていないが、また間違っているではないということ?私たちは、送り出されたブラウザ要求を詳しく見てみ

トランスポートパラメータの何も奇妙な形がおなじみのフォーム・データが、要求ペイロードではありませんが見つかりません。Moのパニックは、実際には、限り、我々は二段階が設定さそうであるように解決することができます

  • Qsがaxiosあるので、それが直接導入されてくるURLの標的配列の形式に変換するQs.stringify()付き
  • 設定要求「のContent-Type」の前に「アプリケーション/ X-WWW-形態は、URLエンコード」であります
   import Qs from 'qs'
   var data = Qs.stringify({"matterIds":"1,2,3"}); this.$http.post('/getMatterList.do',data, {headers:{'Content-Type':'application/x-www-form-urlencoded'}}).then((res)=>{ console.log(res) })

我々は適切に適切に、見た後、

問題は解決しますが、なぜですか?あなたには、いくつかの情報を確認した後、私は戻ってきました

保管場所を要求し、ポストリクエストパラメータが同じではありません取得し、リクエストパラメータを取得HTTPリクエストのキーと値のペアのあるURLの後ろに道を、パラメータのポストを要求するための鍵で道リクエストボディをの

  • リクエストを取得

  • ポスト要求

なぜ「のContent-Type」の前に要求を設定します。

私たちはさまざまな要求を使用すると、送信モードパラメータが同じではありませんが、時間パラメータ、方法が使用されるが、それは私たちの要求を取るためのインターフェイスで同じサーバーで、私たちは、実際には、取得するためにrequest.getParameter(キー)を使用しています中間Tomcatが後端(キー)request.getParameterを統一するデータを得ることができるように、要求パラメータマップで解析されたパラメータの解析処理パラメータ、処理されたフォームを要求し、Tomcatを解決する時期ためそれは「contentTypeの」、「のcontentType」が「アプリケーション/ x-www-form-urlencodedで」であるとき、それは身体データ読み取り要求をすることであろうことで、現在のリクエストがPOSTリクエストである知っている方法です。

なぜ形式でURLにオブジェクトをシリアル化するためにQs.stringify()を使用する必要があります。

非常に初めに、我々はQs.stringify(と、リクエストパラメータはキーと値のペアの形式でリクエストボディ中に存在する後、前記)ペアにオブジェクトを渡すことです。

最後に、問題のための時間でaxiosのVUEで再度設定して、すべての要求が多すぎるトラブルを避けるために、グローバル設定を行うための要求を投稿

おすすめ

転載: www.cnblogs.com/xzybk/p/11727805.html