ホームページ ウェブフロントエンド jsチュートリアル axios で Cookie クロスドメインを実装する方法

axios で Cookie クロスドメインを実装する方法

Jun 19, 2018 pm 04:04 PM
axios cookie クロスドメイン

Vue に参加して以来、私は axios ライブラリを使用していくつかの非同期リクエストを行っています。以下の記事では、axios の Cookie クロスドメインとそれに関連する設定について詳しく説明しています。必要な方は以下を参照してください。

前書き

最近、クロスドメイン、Cookie、フォームアップロードの面でいくつかの小さな問題に遭遇しました。簡単に調べてまとめておきます。この記事では主に、axios の Cookie クロスドメインと関連する設定に関する関連内容を紹介します。以下では多くを説明しません。詳細な紹介を見てみましょう。

1. Cookie を使用したリクエスト - 重要な点を述べます

axios はデフォルトでは Cookie を送信しません。これは、withCredentials: true を設定することで解決する必要があります。 現時点では、バックエンドの設定に注意する必要があります: withCredentials: true来解决。 这个时候需要注意需要后端配合设置:

  • header信息 Access-Control-Allow-Credentials:true

  • Access-Control-Allow-Origin不可以为 '*',因为 '*' 会和 Access-Control-Allow-Credentials:true 冲突,需配置指定的地址

如果后端设置 Access-Control-Allow-Origin: '*'

  • ヘッダー情報Access-Control-Allow-Credentials:true

  • Access-Control-Allow-Origin を「*」にすることはできません。「*」は Access-Control-Allow-Credentials:true と競合するため、指定されたアドレスを構成する必要があります

バックエンドの設定が Access-Control-Allow-Origin: '*' の場合、次のエラー メッセージが表示されます

Failed to load http://localhost:8090/category/lists: The value of the 'Access-Control-Allow-Origin' header in the response must not be the wildcard '*' when the request's credentials mode is 'include'. Origin 'http://localhost:8081' is therefore not allowed access. The credentials mode of requests initiated by the XMLHttpRequest is controlled by the withCredentials attribute.
ログイン後にコピー
バックエンドの設定が必須です。そうでない場合はエラーが発生します。バックエンドの例を貼り付けます:
const express = require('express')
const app = express()
const cors = require('cors') // 此处我的项目中使用express框架,跨域使用了cors npm插件
app.use(cors{
   credentials: true, 
   origin: 'http://localhost:8081', // web前端服务器地址
   // origin: '*' // 这样会出错
  })
ログイン後にコピー
成功したら、リクエストで確認できます

2。フロントエンド プロジェクト コードの axios 設定

axios の統合設定により、効率が大幅に向上し、バグが回避され、場所が特定されます。バグ(便利なエラー情報のキャプチャ)

axiosリクエストをカプセル化してメソッドとして公開するために別のfetch.jsを作成します

import axios from 'axios'
// 创建axios实例
const service = axios.create({
 baseURL: process.env.BASE_API, // node环境的不同,对应不同的baseURL
 timeout: 5000, // 请求的超时时间
 //设置默认请求头,使post请求发送的是formdata格式数据// axios的header默认的Content-Type好像是'application/json;charset=UTF-8',我的项目都是用json格式传输,如果需要更改的话,可以用这种方式修改
 // headers: { 
 // "Content-Type": "application/x-www-form-urlencoded"
 // },
 withCredentials: true // 允许携带cookie
})
// 发送请求前处理request的数据
axios.defaults.transformRequest = [function (data) {
 let newData = ''
 for (let k in data) {
 newData += encodeURIComponent(k) + '=' + encodeURIComponent(data[k]) + '&'
 }
 return newData
}]
// request拦截器
service.interceptors.request.use(
 config => {
 // 发送请求之前,要做的业务
 return config
 },
 error => {
 // 错误处理代码
 
 return Promise.reject(error)
 }
)
// response拦截器
service.interceptors.response.use(
 response => {
 // 数据响应之后,要做的业务
 return response
 },
 error => {
 return Promise.reject(error)
 }
)
export default service
ログイン後にコピー

以下に示すように、ajaxリクエストを呼び出す必要がある場合は

import fetch from '@/utils/fetch'
fetch({
 method: 'get',
 url: '/users/list'
})
 .then(res => {
 cosole.log(res)
})
ログイン後にコピー
上記は、私が皆のためにまとめたものです、今後も皆様のお役に立てれば幸いです。

関連記事:

vue2でkeep-aliveを使用する方法

webpackには、jqueryプラグインの環境設定があります(詳細なチュートリアル)

🎜🎜🎜Bootstrap4 + Vue2でページングクエリを実装する方法🎜🎜

以上がaxios で Cookie クロスドメインを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

コンピューター上の Cookie はどこにありますか? コンピューター上の Cookie はどこにありますか? Dec 22, 2023 pm 03:46 PM

コンピュータ上の Cookie は、使用するブラウザとオペレーティング システムに応じて、ブラウザ上の特定の場所に保存されます。 1. Google Chrome、C:\Users\YourUsername\AppData\Local\Google\Chrome\User Data\Default \Cookies に保存されます。等

Cookie はどこに保存されますか? Cookie はどこに保存されますか? Dec 20, 2023 pm 03:07 PM

Cookie は通常、ブラウザの Cookie フォルダに保存されます。ブラウザの Cookie ファイルは通常、バイナリ形式または SQLite 形式で保存されます。Cookie ファイルを直接開くと、文字化けしたり判読できないコンテンツが表示される可能性があるため、使用することをお勧めします。 Cookie を表示および管理するためにブラウザによって提供される Cookie 管理インターフェイス。

PHP セッションのクロスドメイン問題の解決策 PHP セッションのクロスドメイン問題の解決策 Oct 12, 2023 pm 03:00 PM

PHPSession のクロスドメイン問題の解決策 フロントエンドとバックエンドの分離の開発では、クロスドメイン要求が標準になっています。クロスドメインの問題に対処するときは、通常、セッションの使用と管理が必要になります。ただし、ブラウザーのオリジンポリシーの制限により、デフォルトではセッションをドメイン間で共有できません。この問題を解決するには、いくつかの技術と方法を使用して、セッションのクロスドメイン共有を実現する必要があります。 1. ドメイン間でセッションを共有するための Cookie の最も一般的な使用法

モバイル Cookie はどこにありますか? モバイル Cookie はどこにありますか? Dec 22, 2023 pm 03:40 PM

携帯電話上の Cookie は、モバイル デバイスのブラウザ アプリケーションに保存されます: 1. iOS デバイスでは、Cookie は Safari ブラウザの [設定] -> Safari -> [詳細] -> [Web サイト データ] に保存されます; 2. Android デバイスでは、Cookie は保存されますChromeブラウザの設定→サイト設定→Cookieなど

ブラウザの Cookie が保存される場所の詳細な説明 ブラウザの Cookie が保存される場所の詳細な説明 Jan 19, 2024 am 09:15 AM

インターネットの普及により、ブラウザを使用してインターネットを閲覧することが生活様式になりました。ブラウザを日常的に使用する中で、オンラインショッピング、ソーシャルネットワーキング、電子メールなど、アカウントのパスワードを入力する必要がある場面に遭遇することがよくあります。この情報は、次回アクセスするときに再度入力する必要がないようにブラウザによって記録される必要がありますが、このような場合に Cookie が役に立ちます。クッキーとは何ですか? Cookie とは、サーバーからユーザーのブラウザに送信され、ローカルに保存される小さなデータ ファイルを指し、一部の Web サイトでのユーザーの行動が含まれています。

Cookie 設定に関するよくある質問と解決策 Cookie 設定に関するよくある質問と解決策 Jan 19, 2024 am 09:08 AM

Cookie 設定に関する一般的な問題と解決策、具体的なコード例が必要です インターネットの発展に伴い、Cookie は最も一般的な従来技術の 1 つとして、Web サイトやアプリケーションで広く使用されています。簡単に言うと、Cookie はユーザーのコンピュータに保存されるデータ ファイルで、ログイン名、ショッピング カートの内容、Web サイトの設定などを含むユーザーの情報を Web サイトに保存するために使用できます。 Cookie は開発者にとって不可欠なツールですが、同時に Cookie の設定が頻繁に必要になります。

document.cookieが取得できない問題の解決方法 document.cookieが取得できない問題の解決方法 Nov 23, 2023 am 10:02 AM

document.cookie が取得できない場合の解決策: 1. ブラウザのプライバシー設定、2. 同一オリジン ポリシー、3. HTTPOnly Cookie、4. JavaScript コード エラー、5. Cookie が存在しないか期限切れ、6. クロスドメインの問題、7 . ビューアモード; 8. サーバーの問題; 9. JavaScript 実行タイミング; 10. コンソールログなどを確認します。

ブラウザで Cookie を見つける方法 ブラウザで Cookie を見つける方法 Jan 19, 2024 am 09:46 AM

私たちはコンピューターやインターネットを日常的に使用する中で、Cookie にさらされることがあります。 Cookie は、Web サイトへの訪問、設定、その他の情報の記録を保存する小さなテキスト ファイルです。この情報は、当社へのサービスを向上させるためにウェブサイトで使用される場合があります。しかし、場合によっては、必要なコンテンツを見つけるために Cookie 情報を見つける必要があります。では、ブラウザで Cookie を見つけるにはどうすればよいでしょうか?まず、Cookie がどこに存在するかを理解する必要があります。ブラウザで

See all articles