Reactjs 在redux传奇中获取帖子不起作用?

Reactjs 在redux传奇中获取帖子不起作用?,reactjs,redux,cors,fetch-api,redux-saga,Reactjs,Redux,Cors,Fetch Api,Redux Saga,通过使用redux saga发送post请求,我获得了以下代码: import {put, call, fork, takeEvery} from 'redux-saga/effects'; import fetch from 'isomorphic-fetch'; const url = 'xxx/api/posts'; function* addPost(data) { try{ const response = yield fetch(url, {

通过使用redux saga发送post请求,我获得了以下代码:

import {put, call, fork, takeEvery} from 'redux-saga/effects';
import fetch from 'isomorphic-fetch';
const url = 'xxx/api/posts';


function* addPost(data) {
    try{
        const response = yield fetch(url, {
            method: 'POST',
            headers: {
                'Accept': 'application/json, application/xml, text/plain, text/html, *.*',
                'Content-Type': 'application/json; charset=utf-8'
            },
            body: JSON.stringify(data)
        });
        const id = yield response.json().id;
        yield put({type: types.ADD_POST, payload: {id, title, content }});
    }catch(e) {
        yield put({type: types.ERROR, payload: e});
    }
}

但是ajax是用OPTION方法发送的,我的代码怎么了?为什么它不工作?

您向其发送请求的服务器必须配置为发送一个
访问控制允许标头
响应标头,其值包含
内容类型

解释这里发生了什么。您的请求会触发浏览器发送CORS“预飞行”

在这种情况下,浏览器进行预飞行的具体原因是请求包含
内容类型:application/json
请求头。CORS协议要求,如果跨源请求包含一个
内容类型
请求头,其值不是
application/x-www-form-urlencoded
多部分/表单数据
text/plain
,浏览器发送一个
OPTIONS
请求,然后检查对该请求的响应,以查看该响应是否包含值包含
内容类型的
访问控制允许标头
响应标头


如果浏览器发现响应包含包含该值的响应标题,则浏览器将继续发送您试图使用代码发出的实际
POST
请求。但是如果浏览器发现响应不包含该标题,或者该标题不包含
内容类型
,然后浏览器将立即停止并不发送
POST
请求发送到的服务器必须配置为发送值包含
内容类型的
访问控制允许标头
响应标头

解释这里发生了什么。您的请求会触发浏览器发送CORS“预飞行”

在这种情况下,浏览器进行预飞行的具体原因是请求包含
内容类型:application/json
请求头。CORS协议要求,如果跨源请求包含一个
内容类型
请求头,其值不是
application/x-www-form-urlencoded
多部分/表单数据
text/plain
,浏览器发送一个
OPTIONS
请求,然后检查对该请求的响应,以查看该响应是否包含值包含
内容类型的
访问控制允许标头
响应标头

如果浏览器发现响应包含包含该值的响应标题,则浏览器将继续发送您试图使用代码发出的实际
POST
请求。但是,如果浏览器发现响应不包含该标题,或者该标题不包含
内容类型
,则浏览器将立即停止并不发送
帖子