我无法将数据发布到PHP服务器。我正在使用Axios
。
我可以使用Postman成功发布,但是不能从我的React Native应用程序发布。
我在做什么错了?
<TouchableOpacity
style={{ fontSize: 18, color: 'white' }}
containerStyle={{
padding: 8,
marginLeft: 70,
marginRight: 70,
height: 40,
borderRadius: 6,
backgroundColor: 'mediumseagreen'
}}
onPress={() => {
axios.post('url', {
"Reason": this.state.newTodo,
"BranchRef": this.props.branch,
"AppointmentDate": this.props.date,
"ToSeeRef": 369,
"PatientRef": 63,
"AppointmentTimeID": this.props.appointmentTime,
"AppointmentPlatform": 2,
"Completed": 0
}, {
"headers": {
"Accept": 'application/json',
'Content-Type': 'application/json',
}
}).then((response) => {
console.log("reactNativeDemo", "response get
details:" + response.data);
})
.catch((error) => {
console.log("axios error:", error);
});
}}
>
请参阅下面的错误消息
axios error: [Error: Request failed with status code 500]
答案 0 :(得分:0)
https://postman-echo.com/-使用邮递员回声检查您的客户端或服务器是否存在问题。这可能是服务器问题,而不是您的问题:-/
答案 1 :(得分:0)
不要在渲染器中输入Axios函数,将其分隔为不同的函数,并且将“ url”变量定义为全局渲染器还是内部渲染器?
尝试:
postData = async () => {
axios.post ('your url', {
"Reason": this.state.newTodo,
"BranchRef": this.props.branch,
"AppointmentDate": this.props.date,
"ToSeeRef": 369,
"PatientRef": 63,
"AppointmentTimeID": this.props.appointmentTime,
"AppointmentPlatform": 2,
"Completed": 0
}, {
"headers": {
"Accept": 'application / json',
'Content-Type': 'application / json',
}
}). then ((response) => {
console.log ("reactNativeDemo", "response get
details: "+ response.data);
})
.catch ((error) => {
console.log ("axios error:", error);
});
}
然后
onPress = {this.postData}
答案 2 :(得分:0)
检查我的php / webserver日志后,我能够通过更改应用程序上的日期格式来解决此问题。
我正在使用react-native-datepicker,并且日期格式与服务器期望的日期格式不同。
<DatePicker
date={this.state.date}
mode="date"
format="YYYY-MM-DD"
confirmBtnText="Confirm"
cancelBtnText="Cancel"
customStyles={{
dateIcon: {
position: 'absolute',
left: 0,
top: 4,
marginLeft: 0
},
dateInput: {
marginLeft: 36,
borderWidth: 0,
right: 0,
color: "grey"
}
}}
onDateChange={(date) => { this.setState({ date:
date }); }}
/>