redux 响应中的额外引号.text()

6ie5vjzr  于 2023-10-19  发布在  其他
关注(0)|答案(1)|浏览(91)

在我的React/Redux应用程序中,我调用了我的后端API,它返回了一个文本响应。然后使用下面的行检索文本。我看到的问题是,我的代码似乎在我收到的文本周围放了两组引号。
因此,我的API返回Hello World!但在下面的代码中,它变成了“Hello World!“"
我的API实际上返回的是一个字符串,所以文本周围总是会有一组引号,比如**“Hello World!”这是非常好的。我只是不明白为什么我得到了两套报价。
知道为什么吗

export const callApi = (request) => {
    return (dispatch) => fetch('/api/getsometext', fetchOptionsPost(request))
        .then((response) => {
            if(!response.ok) {
                // Request failed
                dispatch(setBadRequest(true))
            } else {
                const myText = response.text() // This is where I'm getting double quotes
                .then((myText) => dispatch(setMyText(myText)))
            }
        })
}
yquaqz18

yquaqz181#

简单地引用@Kaiido的提示作为答案,这样它就不会在评论中迷失:
您的服务器发送带有这些引号的数据,可能是因为它认为应该以JSON格式发送数据。因此,要么重新配置您的API,使其不尝试将其作为JSON发送,要么简单地使用Response.JSON(),使您的客户端正确解析它。

相关问题