reactjs - 使用具有另一个来源的 API (CORS) 来响应应用程序

标签 reactjs cookies fetch cross-domain

我有一个 React 应用程序,它使用 java ee 后端休息服务器,在另一个域上运行。我已启用 CORS:

Access-Control-Allow-Origin : http://localhost:3000
Access-Control-Allow-Headers : origin, content-type, accept, authorization
Access-Control-Allow-Credentials : true
Access-Control-Allow-Methods : GET, POST, PUT, DELETE, OPTIONS, HEAD
Access-Control-Max-Age : 1209600

我正在使用 React 和 fetch,如下所示:

export function get(path, headers) {
    return fetch(apiUrl + path, {
        "metod" : "GET",
        "headers" : headers,
        "credentials" : "include"
    })
}

我的 React 应用程序正在 http://localhost:3000 上运行。 当我登录时,服务器返回 Set-Cookie,但 cookie 不会包含在对服务器的任何进一步请求中,除非我尝试再次登录。然后将其包含在该特定登录请求中。

有什么建议吗?

最佳答案

我只是想分享一下我如何通过这个 post 让我的本地开发变得轻松如果您使用 create-react-app,只需将主 API url 代理添加到 package.js 即可,例如 "proxy": "http://本地主机:8080/API” 无需在后端设置 CORS。

关于reactjs - 使用具有另一个来源的 API (CORS) 来响应应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43746765/

相关文章:

java - 在 hibernate 中获取不重复的行

返回未定义的 JavaScript 获取响应

python - Django 中的cache.fetch?

javascript - ReactJS - 在加载图像之前显示预加载器

javascript - 正确使用表单和输入元素

javascript - 尝试访问此引用将失败。你的意思是使用 React.forwardRef()

javascript 如何简单地设置和检索 cookie

javascript - React Native 加载屏幕(条件渲染)

node.js - Express 和 Passport 之间的 Cookie 检测

jquery - 根据选择菜单选项创建 cookie?