React native POST失败,ReadableNativeMap无法转换为字符串错误
我在React native POST失败,ReadableNativeMap无法转换为字符串错误,react-native,fetch,React Native,Fetch,我在React Native中工作,我使用PHP作为后端,当我使用fetchPOST请求时,我得到了如此奇怪的错误,我不知道为什么会发生这种情况。我检查了url,因此它可以正常工作,正常的fetch()在没有POST的情况下也可以工作,但是当我尝试发布时,它会发生。当我在本地服务器上尝试时,fetchPOSTworks。。但在服务器中,我得到以下错误: 错误:com.facebook.react.bridge.ReadableNativeMap无法转换为 java.lang.String 反应本
React Native
中工作,我使用PHP
作为后端,当我使用fetchPOST
请求时,我得到了如此奇怪的错误,我不知道为什么会发生这种情况。我检查了url,因此它可以正常工作,正常的fetch()
在没有POST
的情况下也可以工作,但是当我尝试发布时,它会发生。当我在本地服务器上尝试时,fetchPOST
works。。但在服务器中,我得到以下错误:
错误: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);
});
Alert.Alert接收一个字符串,您从fetch响应中得到的是一个内部
com.facebook.react.bridge.ReadableNativeMap
对象(这是fetch的本机实现返回的对象)。
您可以尝试:
Alert.alert(JSON.stringify(responseJson))
如果您使用的是iOS,则会出现完全不同的错误:
Exception '-[_NSFrozenDictionaryM length]: unrecognized selector ...
Alert.Alert仅接受字符串作为输入 使用
alert()
显示弹出窗口
示例:alert(“Response:,responseJson)
快乐编码:) 这个要求在我看来确实不错。您可以通过检查有效负载主体并查看值是否有效来进行调试吗?我猜答案是Alert.Alert('string',responseJson),尝试这样做,因为Alert.Alert需要2个值。好的,我将检查代码的Alert部分并更改它,然后让您知道。我现在检查了它,它给出了其他错误,但在Alert内部,因此我们修复了这个错误。新的错误是:{“message”:“”,异常是“:”Symfony\\Component\\HttpKernel…我认为这是关于Laravel/PHP的部分,所以我需要修复它。然后再次感谢您!