使用react-native时返回并不连接

时间:2017-06-11 09:35:16

标签: react-native backand

我在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>

);

}
}

0 个答案:

没有答案