CORS飞行前响应未成功

时间:2020-05-19 14:11:09

标签: javascript axios cors

从axios提取API时,出现以下错误

跨源请求被阻止:同源策略禁止阅读 位于https://...bla的远程资源。...(原因:CORS预检 响应未成功)

跨源请求被阻止:同源策略禁止阅读 位于https://...bla bla .....的远程资源(原因:CORS请求 没有成功)

我认为第二个错误是由于第一个错误。这里最主要的是修复第一个错误。

actions.js

export const getMetadata = srNumber => {
    return (dispatch) => {
        dispatch(getMetadataRequest())
        axios.get(`${BASE_URL}/some path/${srNumber}`, {
            headers: {
                'X-JWT-Assertion': ASSERTION,
                'Access-Control-Allow-Origin': '*',
                'Access-Control-Allow-Methods': '*',
                'Access-Control-Allow-Credentials': 'true',
                'Access-Control-Allow-Headers': 'Content-Type, Authorization'
            }
        })
            .then(response => {
                const data = response.data
                console.log("GET METADATA", data)
                dispatch(getMetedataSuccess(data))
            })
            .catch(error => {
                const errorMessage = error.message
                console.error("GET METADATA", errorMessage)
                dispatch(getMetadataFailure(errorMessage))
            })
    }
}

1 个答案:

答案 0 :(得分:-2)

尝试一下:

const options = {
  method: 'GET',
  headers: {
               // add header which is required for the call, please dont add response headers 
           }
   url: `${BASE_URL}/some path/${srNumber}`,
};

export const getMetadata = srNumber => {
    return (dispatch) => {
        dispatch(getMetadataRequest())
        axios(options)
            .then(response => {
                const data = response.data
                console.log("GET METADATA", data)
                dispatch(getMetedataSuccess(data))
            })
            .catch(error => {
                const errorMessage = error.message
                console.error("GET METADATA", errorMessage)
                dispatch(getMetadataFailure(errorMessage))
            })
    }
}