response.text()中的额外引号

时间:2017-09-11 02:13:25

标签: javascript redux

在我的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)))
            }
        })
}

2 个答案:

答案 0 :(得分:1)

只需引用@Kaiido的提示作为答案,这样我就不会在评论中迷路:

您的服务器发送带有这些引号的数据,可能是因为它 认为它应该将其作为JSON发送。所以要么重新配置您的API 不会尝试将其发送为JSON,只需使用Response.JSON()即可 您的客户端可以正确解析它。

答案 1 :(得分:0)

我认为您应该使用postman等工具检查和测试您的API。