Реагировать на собственный пост http получил ошибку Json Parse: нераспознанный токен ‘& lt;’

Когда я пытался опубликовать данные изact-native в PHP API, response-native показывал ошибку:

Ошибка анализа Json: нераспознанный токен<‘

Я тестировал PHP API почтальоном с типом заголовка ‘application / json’, он отлично работает, вот код-ответ, кто-нибудь может мне помочь в этом? Заранее спасибо!

import React, { Component } from 'react';
import {
AppRegistry,
StyleSheet,
Text,
View,
ActivityIndicatorIOS,
TextInput,
TouchableOpacity,
} from 'react-native';

const REQUEST_URL = 'http://localhost:8000/user';

export default class extends Component {
constructor(props) {
super(props);
}

_submit() {
fetch(REQUEST_URL, {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
body: JSON.stringify({
firstname: "Justin", lastname: "Robot"})
})
.then((response) => response.json())
.then((responseData) => {
console.log(responseData.body);
})
.done();
}

render() {
return (
<View style={styles.container}>
<TouchableOpacity
style={styles.submitButton}
onPress={() => this._submit()}
>
<Text>http post</Text>
</TouchableOpacity>
</View>
);
}
}

const styles = StyleSheet.create({
container: {
flex: 1,
alignItems: 'center',
justifyContent: 'center',
},
submitButton: {
backgroundColor: 'lightskyblue',
borderRadius: 5,
paddingTop: 5,
paddingBottom: 5,
paddingLeft: 20,
paddingRight: 20,
}
});

5

Решение

Мы столкнулись с этим в React Native, потому что наш сервер возвращал ответ об ошибке через HTML.

<html>

<head><title>413 Request Entity Too Large</title></head>

<body bgcolor="white">

<center><h1>413 Request Entity Too Large</h1></center>

<hr><center>nginx</center>

</body>

</html>

Исправления могут быть любыми из следующих:

1) Предотвратите ошибку в вашем коде на стороне сервера.

2) Улучшите обработку ошибок на своем сервере, чтобы вместо ошибок HTML возвращались ошибки JSON.

3) Напишите некоторый код на стороне клиента, чтобы определить, что HTML был возвращен, и показать более полезное сообщение об ошибке.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]