redash GET请求在POSTMAN上有效,但在axios上无效

时间:2020-04-07 07:02:39

标签: javascript reactjs axios postman

redash上有一个查询。这是GET个请求。在POSTMAN上运行良好。 查询示例:

https://app.redash.io/<company name>/api/queries/<query id>/results.json?api_key=<api key>

但是在axios上会抛出:

网络错误

在控制台上这样写:

从原点“ http://localhost:3000”到https://app.redash.io/<company name>/api/queries/<query id>/results.json?api_key=<api key>的XMLHttpRequest的访问已被CORS策略阻止:对预检请求的响应未通过访问控制检查:无“ Access-Control-Allow-Origin”标头出现在请求的资源上。

我的axios默认配置:

import axios from 'axios/index';
import { appVersion } from '../../constants/defaultValues';

const { CancelToken } = axios;
export const source = CancelToken.source();

const api = axios.create({
    timeout: 5 * 60 * 1000,
    headers: {
        version: appVersion,
    },
    cancelToken: source.token,
});

export default api;

1 个答案:

答案 0 :(得分:1)

不是来自您的代码。您的代码正确

CORS是浏览器功能。服务器需要选择加入CORS,以允许浏览器绕过同源策略。您的服务器将没有相同的限制,并且能够使用公共API向任何服务器发出请求。

您可以详细了解Cross-Origin Resource Sharing