我正在做反应本机,我使用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);
});
答案 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)
快乐编码。 :)