为什么JSON.stringify()没有按预期对我的对象进行字符串化?

时间:2017-11-22 23:49:21

标签: reactjs react-native stringify

我正在从react-native发送获取请求。 为什么 A 会正确发送正文数据,但 B 会以未定义的形式返回?

    let usrn = 'ususus'
    lew pwrd = 'pwpwpw'

    let bodyData = {
        'u': usrn,
        'p': pwrd,
    }

特别是JSON.stringify()的身体数据?

=> A
    return fetch(url, {
            method: "POST",
            headers: headers,
            body: JSON.stringify({
                'u': usrn,    // <= can return this value on server
                'p': pwrd,    // <= can return this value on server
            })
        })

=> B
    return fetch(url, {
            method: "POST",
            headers: headers,
            body: JSON.stringify({ bodyData }) // <= returns undefined on server
        })

2 个答案:

答案 0 :(得分:6)

bodyData是一个对象,你不需要再用大括号包装它:

body: JSON.stringify(bodyData);

答案 1 :(得分:2)

变量us未定义..

let bodyData = {
    'u': us,
    'p': pwrd,
}

在代码中:

return fetch(url, {
        method: "POST",
        headers: headers,
        body: JSON.stringify({
            'u': usrn,    // <= can return this value on server
            'p': pwrd,    // <= can return this value on server
        })
    })

您正在使用属性'u'变量usrn。它已定义

将bodyData更改为..

let bodyData = {
'u': usrn,
'p': pwrd,

}