我是React本地人的新手,我的POST请求遇到了很多问题,并在互联网上进行了大量的研究以使其工作,但是我一直都在“未定义”。
这是index.android.js
中的所有代码:
import React, { Component } from 'react';
import { AppRegistry, Alert, StyleSheet, View, TextInput, TouchableHighlight, Text } from 'react-native';
var DroverDaniel = React.createClass({
_onPressButtonPOST: function() {
let myBody = JSON.stringify({"partner[email]": "daniel.smith@gmail.com", "partner[password]": "mypassword"});
let myInit = { method: 'POST', cache: 'default', body: myBody };
fetch("https://drover-test.herokuapp.com/app_partners/sign_in", myInit).then(function(response) {
return response.json();
}).then(function(j) {
Alert.alert("POST Response", "Response Body -> " + j.api_token)
console.log(j);
}).catch(function(err) {
console.log(err);
// Alert.alert("Response Body -> " +err);
});
},
render: function() {
return (
<View style={styles.container}>
<TouchableHighlight onPress={this._onPressButtonPOST} style={styles.button}>
<Text>POST</Text>
</TouchableHighlight>
</View>
);
},
});
var styles = StyleSheet.create({
container: {
flex: 1,
flexDirection: 'row',
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
button: {
backgroundColor: '#eeeeee',
padding: 10,
marginRight: 5,
marginLeft: 5,
}
});
AppRegistry.registerComponent('DroverDaniel', () => DroverDaniel);
我已经在Postman中测试了API,这很有效 - 这是我应该为这个简单的登录POST请求获得的:
{
"id": 40,
"email": "daniel@some-email.com",
"first_name": "Daniel",
"last_name": "Smith",
"api_token": "ffZWYC8Z4zD3-c4y9mT3"
}
不幸的是.catch在“控制台”中没有显示任何错误 - 我假设我正在运行终端服务器。并且尝试在“警报”框中输出错误也不会产生任何结果。
我整天都被困在这一天,所以任何帮助都会非常感激!