React-Native获取POST错误

时间:2018-04-22 23:14:24

标签: react-native fetch

我正在做反应本机,我使用php进行后端,当我使用fetch POST请求时,我得到了如此奇怪的错误,我不知道为什么会发生这种情况。我检查了网址,所以它的工作没有问题,正常的fetch()工作没有POST,但当我尝试发布它发生。当我在本地服务器中尝试获取POST工作..但在服务器中,我收到此错误:

  

错误:com.facebook.react.bridge.ReadableNativeMap无法转换为   java.lang.String中

反应原生代码:

   fetch('http://xxx/react_test1', {
        method: 'POST',
        headers: {
            'Accept': 'application/json',
            'Content-Type': 'application/json',
        },
        body: JSON.stringify({
            name: inputName,
            email: inputEmail,
            phone: inputPhone
        }),
    }).then((response) => response.json())
        .then((responseJson) => {
            Alert.alert(responseJson);
        }).catch((error) => {
            alert(error);
    });

2 个答案:

答案 0 :(得分:3)

Alert.alert收到一个字符串,你从fetch响应中得到的是一个com.facebook.react.bridge.ReadableNativeMap对象(这是fetch返回的本机实现)。 你可以尝试:

Alert.alert(JSON.stringify(responseJson))

如果您使用iOS,则会收到完全不同的错误:

Exception '-[_NSFrozenDictionaryM length]: unrecognized selector  ...

答案 1 :(得分:0)

Alert.alert仅接受字符串作为输入。

使用alert()来显示弹出窗口。

示例:alert("Response: ", responseJson)

快乐编码。 :)