这是代码:
componentDidMount () {
// Get cookies as a request header string
CookieManager.get("http://10.42.0.1:8000/login", (err, res) => {
// Outputs 'user_session=abcdefg; path=/;'
fetch("http://10.42.0.1:8000/login", {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'X-CSRFToken': res.csrftoken,
},
body: JSON.stringify({
username: 'user',
password: 'securepassword',
})
})
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson);
})
});
}
上面的代码在模拟器上显示错误!!!
Android Emulator的屏幕截图---
这里安装了
yarn add react-native-cookies
以及其他给定的说明。 也在app.js文件中导入
import CookieManager from 'react-native-cookies';
一切似乎都是正确的仍然显示此错误.. 欢迎任何建议.. 谢谢!!!
答案 0 :(得分:1)
模块react-native-cookies在其中实现 Promises ,它将响应作为Promise对象提供,因此您唯一错误的就是处理 Cookiemanager.get 致电。 如下更改您的代码然后您就可以了:)
componentDidMount () {
// Get cookies as a request header string
CookieManager.get("http://10.42.0.1:8000/login")
.then((res) => {
// Outputs 'user_session=abcdefg; path=/;'
fetch("http://10.42.0.1:8000/login", {
method: "POST",
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
'X-CSRFToken': res.csrftoken,
},
body: JSON.stringify({
username: 'user',
password: 'securepassword',
})
})
.then((response) => response.json())
.then((responseJson) => {
console.log(responseJson);
})
}).catch((err) => {
//handle your error here
})
}
这就是你做错了。如果您还有其他需要,请告诉我。