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
作为后端,当我使用fetch
POST
请求时,我得到了如此奇怪的错误,我不知道为什么会发生这种情况。我检查了url,因此它可以正常工作,正常的
fetch()
在没有
POST
的情况下也可以工作,但是当我尝试发布时,它会发生。当我在本地服务器上尝试时,fetch
POST
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的部分,所以我需要修复它。然后再次感谢您!