am使用React的fetch()方法登录到我的服务。 到目前为止,我已经完成了以下操作,您可以检查一下我的东西:
_callApiForLogin = () => {
ToastAndroid.show('Logging In...', ToastAndroid.SHORT);
let data = new FormData();
data.append('username', "sssss");
data.append('password', "123456");
data.append('device_token', "hjkhjkhjkkksdkjhkjhksdsfs");
data.append('device_type', "2");
fetch('https://612.33.196.54/~yes/master/api/web/login', {
method: 'POST',
body: data,
}).then((response) => response.json())
.then((responseJson) => {
ToastAndroid.show('Logging In...', responseJson);
if (responseJson.status === '1') {
ToastAndroid.show('Logging Successful' + responseJson, ToastAndroid.SHORT);
}
return responseJson.status;
})
.catch((error) => {
console.error(error);
});
}
但是,响应时低于错误。
错误: com.facebook.react.bridge.ReadableNativeMap无法转换为java.lang.Double
来自服务的响应如下:
{
"status": 1,
"data": {
"id": "551",
"first_name": "sssss",
"last_name": "lastname",
"email": "ja@gmail.com",
"username": "sssss",
"password": "e10adc83e",
"photo": "",
"birthdate": "1963-02-13",
"gender": "",
"token": "1234567890",
"device_type": "2"
},
"message": "Successful Login"
}
可能是什么问题?
答案 0 :(得分:3)
您正在使用React Native Module
来显示Toast
,即ToastAndroid
,因此出现 com.facebook.react.bridge.ReadableNativeMap 错误。 here中所述的show()
方法接受一个duration
并将其转换为一个double,作为其第二个参数,在这种情况下,您正在传递responseJson
,它是一个对象,因此它不能转换为两倍。