我在backand中创建了一个简单的对象,有三个字段 - admission_no,username和password。在backand中尝试使用REST API的POST方法时,数据已成功插入。但是,当我尝试使用我的模拟器时,它没有连接到此对象。我尝试了很多东西 - 检查对象的url,将对象的安全性设置为public,检查匿名令牌,但这些都没有解决我的问题。
我做错了吗?请检查代码并帮助我。
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
Image,
TextInput,
ScrollView
} from 'react-native';
import Container from './Container';
import Button from './Button';
import Label from './Label';
import ImageContainer from './ImageContainer';
export default class RegisterView extends Component {
constructor(props) {
super(props)
this.state = {
email: '',
password: '',
admissionNo:'',
}
}
_handleAdd = () => {
try{
if((this.state.email)!=="" && (this.state.password)!=="" &&
(this.state.admissionNo)!=="" ){
const data = {
admission_no: this.state.admissionNo,
username: this.state.email,
password: this.state.password,
}
const json = JSON.stringify(data);
let response =
fetch('https://api.backand.com:443/1/objects/parents', {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'AnonymousToken': 'abcdef', //actual token has been given
'Cache-Control': 'no-cache=\"set-cookie\"',
},
body: json
});
if (response.status === 200) {
alert('Success! You may now login');
this.props.navigator.pop();
}
else {
alert(this.state.admissionNo);
}
}
else
{
alert ("Cannot be empty!")
}
}
catch(err){
alert(err);
console.log(err);
}
}
render() {
return (
<ScrollView style={styles.scroll}>
<ImageContainer>
<Image
style={{width:110,height: 110, justifyContent: 'center',
alignItems: 'center'}}
source={require('./Logo.png')}>
</Image>
</ImageContainer>
<Container>
<TextInput
placeholder="Admission No."
style={styles.textInput}
onChangeText={(text) => this.setState({admissionNo:text})}
autoCapitalize="none"
autoCorrect={false}
onSubmitEditing={(event) => {
const{admissionNo}=this.state.admissionNo;
const{onSubmitEditing}=this.props;
if(!admissionNo) return
onSubmitEditing(admissionNo)
this.refs.SecondInput.focus();
}}
/>
<TextInput
placeholder="Username"
style={styles.textInputUsername}
onChangeText={(text) => this.setState({email:text})}
autoCapitalize="none"
autoCorrect={false}
onSubmitEditing={(event) => {
const{email}=this.state.email;
const{onSubmitEditing}=this.props;
if(!email) return
onSubmitEditing(email)
this.refs.SecondInput.focus();
}}
/>
<TextInput
placeholder="Password"
ref='SecondInput'
secureTextEntry={true}
onChangeText={(text) => this.setState({password:text})}
style={styles.textInputPass}
/>
</Container>
<Container>
<Button
label="Create Account"
styles={{button: styles.primaryButton, label:
styles.buttonWhiteText}}
onPress={this._handleAdd}
/>
</Container>
</ScrollView>
);
}
}