`
sillycat
  • 浏览: 2552526 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Axios and Cookie Operation

 
阅读更多
Axios and Cookie Operation

My current service, response with the headers as follow:
Connection: keep-alive
Content-Language: en
Content-Length: 274
Content-Type: application/json; charset=utf-8
Date:
Server: Apache
Vary: Authorization, Accept-Language, Cookie

The Demo Header Service is as follow, the URL is http://httpbin.org/headers
Access-Control-Allow-Credentials: true
Access-Control-Allow-Origin: *
Connection: keep-alive
Content-Length: 528
Content-Type: application/json
Date:
Server: gunicorn/19.9.0
Via: 1.1 vegur

Some Keep Details about operations on Cookie from Axios
Some sample is as follow:
axios.request({
        method: "get",
        url: uri,
        headers: headers,
        params: params,
        maxRedirects: 0,
        validateStatus: function(status) {
            return status >= 200 && status < 303;
        },
        withCredentials: true,
      }).then(response => {
          console.log("cookie:" + response.headers["set-cookie"]);
          return resolve(response.data);
      }).catch((error:any) => {
          console.error(error);
          return reject();
      });
    });
  }

https://stackoverflow.com/questions/36365409/setting-cookies-with-cors-requests
On the server side, it should support these:
res.writeHead(200, {
     ’Set-Cookie’: ‘’,
     ‘Access-Control-Allow-Origin’: ‘http://sillycat.ddns.net:8383',
     ‘Access-Control-Allow-Credentials’: ’true’,
     ‘Access-Control-Allow-Methods’: ‘GET, POST’,
     ‘Access-Control-Allow-Headers’: ‘Content-Type, Set-Cookie, *'
});

In general, if the server side does not support CORS, the nodeJS client can not get the headers[’set-cookie’]. The browser can, postman can, but I fails to do that in NodeJS client without CORS.

References:
https://stackoverflow.com/questions/48846653/get-cookie-from-axios-response-using-cors-on-the-server-side
https://github.com/axios/axios/issues/92
https://github.com/axios/axios/issues/295
https://github.com/axios/axios/issues/953
https://stackoverflow.com/questions/48846653/get-cookie-from-axios-response-using-cors-on-the-server-side




分享到:
评论

相关推荐

    axios携带cookie配置详解(axios+koa)

    在前端使用axios发送请求时,如果不进行特殊配置,跨域请求默认是不会携带cookie的。为了使axios在跨域请求时携带cookie,需要在axios的配置中设置`withCredentials`为`true`。这一配置的含义是指示axios在跨域请求...

    axios中cookie跨域及相关配置示例详解

    本文将详细讲解如何在Axios中配置Cookie跨域以及相关的后端设置。 首先,我们要明确一点:默认情况下,Axios在发起跨域请求时并不会携带Cookie。这是因为浏览器的安全策略限制,为了防止跨站脚本攻击(Cross-Site ...

    axios-cookiejar-support:添加对cookie的强力cookie支持

    $ npm i axios tough-cookie axios-cookiejar-support - 或者 - $ npm i axios tough-cookie @3846masa/axios-cookiejar-support # Same as above 打字稿 如果要与TypeScript一起使用,请添加@types/tough-cookie ...

    详解Vue用axios发送post请求自动set cookie

    vue-resource不再维护之后,我也用起了axios,但是死活无法设置服务器发送过来的cookie 后来查询文档发现,这个是要单独配置的。 // `withCredentials` indicates whether or not cross-site Access-Control ...

    基于axios 解决跨域cookie丢失的问题

    总结起来,要解决基于axios的跨域cookie丢失问题,关键在于: 1. 在客户端设置axios的withCredentials属性为true,使其在跨域请求中携带cookies。 2. 服务器端设置Access-Control-Allow-Credentials响应头为true,...

    Vue axios 跨域请求无法带上cookie的解决

    这种情况在使用Vue axios时尤为常见,尤其是在开发和部署环境之间切换时,可能会发现本地开发时cookie能够正常传递,但一旦将应用部署到服务器,cookie就不再被携带。本文将详细探讨这个问题,并提供解决方案。 ...

    vue项目使用axios发送请求让ajax请求头部携带cookie的方法

    本篇文章将详细解释如何在Vue项目中配置axios,使其在发送Ajax请求时自动携带cookie。 首先,axios在默认情况下不会自动将浏览器的cookie添加到请求头中。这是因为跨域请求(CORS)的安全策略限制,防止恶意网站...

    若依之中对于axios的封装

    若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依axios的封装若依...

    axios直接导入使用的压缩包

    3. **配置请求**: Axios 允许你自定义请求配置,如设置超时、添加请求头、携带 cookie 等。例如: ```javascript axios.get('https://api.example.com/data', { headers: {'X-Custom-Header': 'foobar'}, time...

    vue axios封装 axios 请求

    vue axios封装 axios 请求

    axios安装包

    当在浏览器环境中发起带有 `withCredentials` 属性的跨域请求时,Axios 会自动添加一个 XSRF-TOKEN(通常由服务器设置的 cookie)到请求头中,以此来验证请求的来源,防止恶意的第三方网站模仿用户进行操作。...

    axios0.27.2(axios.js)

    axios0.27.2(axios.js)

    axios-0.19.2.zip

    这个"axios-0.19.2.zip"文件包含的是Axios库的一个特定版本——0.19.2的压缩包。在这个版本中,核心功能是通过"axios.min.js"文件提供的,这是一个优化过的、轻量级的JavaScript文件,适用于生产环境。 Axios 是...

    前端axios-0.19.2的配置

    source.cancel('Operation canceled by the user.'); ``` 总之,axios-0.19.2提供了丰富的配置选项和功能,使得在前端开发中处理HTTP请求变得简单而高效。通过理解并灵活运用这些配置,开发者可以更自如地控制请求...

    axios js 18.0版本文件

    在 18.0 版本中,Axios 提供了一系列更新和优化,使得开发者能够更加高效地处理网络请求。以下是关于 Axios JS 18.0 版本的一些关键知识点: 1. **Promise 支持**: Axios 基于 Promise API 设计,这使得异步操作...

    axios.js axios拦截器,二次封装axios

    axios拦截器,二次封装axios

Global site tag (gtag.js) - Google Analytics