javascript - React js 与 redux fetch 总是返回一个空的 json

标签 javascript reactjs fetch redux

我正在尝试请求一个没有 ajax 调用的 API(为什么我要导入整个库来简单地进行 ajax 调用?)。

因此,我决定遵循 Redux 文档(我上周迁移的文档)中描述的 fetch 函数流程。

从“isomorphic-fetch”导入提取

因此,我有这个简短的函数:

export function fetchPosts(value) {
    return dispatch => {
        dispatch(requestPosts(value))
        return fetch(Config.serverUrl + '/' + value, {
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                Authorization: Config.authorizationToken
            },
        })
          .then(response => response.json())
          .then(json => dispatch(receivePosts(value, json)))
    };
};

但是当我在下一步函数中执行 console.log 时:

function receivePosts(value, json) {
    console.log(json);
    return {
        type: RECEIVE_POSTS,
        value,
        posts: json.data.children.map(child => child.data)
    };
};

我可以看到我的 json 是一个空对象。

网络返回:

一般: 请求网址:https://shelob-v2.dev.blippar.com/v2/categories 请求方法:选项 状态码:200 正常 远程地址:52.25.79.166:443

标题: 访问控制允许 header :授权、内容类型、X-Pouet-UniqueID、X-Pouet-UniqueRunID 访问控制允许方法:PATCH、PUT、DELETE 访问控制允许来源:* 内容长度:0 内容类型:文本/纯文本;字符集=utf-8 日期:2016 年 4 月 27 日星期三 14:14:36 GMT

我做错了什么吗?

最佳答案

您的 redux 语法看起来正确,但看起来该请求是 OPTIONS 请求而不是 GET 请求。尝试将 method: 'GET' 添加到您的提取选项中。

export function fetchPosts(value) {
    return dispatch => {
        dispatch(requestPosts(value))
        return fetch(Config.serverUrl + '/' + value, {
            method: 'GET', // here
            headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                Authorization: Config.authorizationToken
            },
        })
          .then(response => response.json())
          .then(json => dispatch(receivePosts(value, json)))
    };
};

关于javascript - React js 与 redux fetch 总是返回一个空的 json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36891968/

相关文章:

javascript - 使用循环构建对象数组并使用来自相同迭代的计算

javascript - 网站可以用electronjs吗

reactjs - 如何在material-ui卡片组件中使用Video html标签而不是img标签

android - Fetch in react native 不能在 android 上使用 ssl

javascript - 使用 Node 获取的动态请求

javascript - 更改 React-native 中的设备区域设置

javascript - 如何通过 jQuery 中的两个函数正确传递两个对象

javascript - 循环遍历 Javascript 方法并将数据添加到方法中

ios - Swift 3 - 核心数据 - 获取结果 Controller 访问关系属性

javascript - axios 多然后的