redux fetch body 不用于无 cors 模式

IT技术 javascript reactjs fetch redux fetch-api
2021-03-05 04:35:38

我有这个调用函数的动作:

dispatch(Api({url: "my_url", method: "POST", data: data}))

在这里,我将数组作为数据传递..

import fetch from 'isomorphic-fetch'

export default function Api({url, method, headers, data}={}){
    return dispatch => {

        console.log(data)
        console.log(url)
        console.log(method)
        console.log(JSON.stringify(data))
        let response = fetch(url, {
            mode: 'no-cors',
            method: method || null,
            body: data || null, 
        }).then(function(response) {
            console.log("response");
             console.log(response)
            });

    }
}

在这里,我使用fetchwithmode:'no-cors'我想我正在传递所有的论点..我在这里的身体是我作为论点传递的简单数组..

当我看到回复时,它就像:

body: null
bodyUsed: false
headers: Headers
ok: false
status: 0
statusText: ""
type: "opaque"
url:""

这里我的身体没有被使用..

这里有什么问题?需要帮忙

1个回答

您将获得opaque response[ 1 ] [ 2 ],因为您将 fetch 与mode: 'no-cors'. 您需要使用mode: 'cors'并且服务器需要发送所需的 CORS 标头 [ 3 ] 才能访问响应。

你有我可以测试的服务的公共 URL 吗?
2021-04-25 04:35:38
抱歉,目前 api/url 未托管在任何地方。
2021-05-11 04:35:38
我已经对 mode:'cors' 进行了必要的更改,如asp.net/web-api/overview/security/... 中所述但是得到响应为 (...) bodyUsed:false headers:Headers ok:true status:200 statusText:"OK" type:"cors" url:。你能帮我看看数据吗?
2021-05-12 04:35:38