React native 可能未处理的承诺拒绝/错误:请求失败,状态代码400
我知道这里面有一些答案,我都读过了。但他们都没有帮助。 这是我的错误信息: 以下是我的行动:React native 可能未处理的承诺拒绝/错误:请求失败,状态代码400,react-native,redux,react-redux,axios,React Native,Redux,React Redux,Axios,我知道这里面有一些答案,我都读过了。但他们都没有帮助。 这是我的错误信息: 以下是我的行动: export function registerUser(data){ const request = axios({ method: "POST", url: `${REGISTER}${API_KEY}`, data: { email: data.email, password: data.password, }, heade
export function registerUser(data){
const request = axios({
method: "POST",
url: `${REGISTER}${API_KEY}`,
data: {
email: data.email,
password: data.password,
},
headers:{
"Content-Type":"application/json"
}
}).then(response => response.data)
return {
type: "REGISTER_USER",
payload: request,
}
}
谢谢 记录错误和成功,然后检查:
export function registerUser(data){
const request = axios({
method: "POST",
url: `${REGISTER}${API_KEY}`,
data: {
email: data.email,
password: data.password,
},
headers:{
"Content-Type":"application/json"
}
})
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
记录错误和成功,然后检查:
export function registerUser(data){
const request = axios({
method: "POST",
url: `${REGISTER}${API_KEY}`,
data: {
email: data.email,
password: data.password,
},
headers:{
"Content-Type":"application/json"
}
})
.then(function (response) {
// handle success
console.log(response);
})
.catch(function (error) {
// handle error
console.log(error);
})
无论在何处调用带有承诺的api,都应该使用
catch
处理程序,因为当api失败时,您不需要这样做,您必须处理错误
export function registerUser(data){
return axios({
method: 'post',
url: `${REGISTER}${API_KEY}`,
data: {
email: data.email,
password: data.password,
},
headers: {
'Content-Type': 'application/json'
}})
.then(function (response) {
//handle success
return {
type: "REGISTER_USER",
payload: response.data,
}
})
.catch(function (err) {
//handle error
return {
type: "REGISTER_USER_FAILED",
payload: null
}
});
}
像这样调用函数
const data = {
email: 'asd@asd.asd',
password: 123
}
registerUser(data).then((response)=>{
console.log(response)
})
无论在何处调用带有承诺的api,都应该使用
catch
处理程序,因为当api失败时,您不需要这样做,您必须处理错误
export function registerUser(data){
return axios({
method: 'post',
url: `${REGISTER}${API_KEY}`,
data: {
email: data.email,
password: data.password,
},
headers: {
'Content-Type': 'application/json'
}})
.then(function (response) {
//handle success
return {
type: "REGISTER_USER",
payload: response.data,
}
})
.catch(function (err) {
//handle error
return {
type: "REGISTER_USER_FAILED",
payload: null
}
});
}
像这样调用函数
const data = {
email: 'asd@asd.asd',
password: 123
}
registerUser(data).then((response)=>{
console.log(response)
})
尝试获取用于进行API调用的库
function registerUser(data){
return fetch(url, {
method: 'POST',
body: JSON.stringify(data),
headers:{
'Content-Type': 'application/json'
}
})
.then(res => res.json())
.then((apiResponse)=>{
console.log("api response", apiResponse)
return {
type: "REGISTER_USER",
api_response: apiResponse.data
}
})
.catch(function (error) {
return {
type: "REGISTER_USER",
api_response: {success: false}
}
})
}
调用上述函数
let data = {
email: "youremail@gmail.com,
password:"yourpassword"
}
registerUser(data).then((response)=>{
console.log(response)
})
尝试获取用于进行API调用的库
function registerUser(data){
return fetch(url, {
method: 'POST',
body: JSON.stringify(data),
headers:{
'Content-Type': 'application/json'
}
})
.then(res => res.json())
.then((apiResponse)=>{
console.log("api response", apiResponse)
return {
type: "REGISTER_USER",
api_response: apiResponse.data
}
})
.catch(function (error) {
return {
type: "REGISTER_USER",
api_response: {success: false}
}
})
}
调用上述函数
let data = {
email: "youremail@gmail.com,
password:"yourpassword"
}
registerUser(data).then((response)=>{
console.log(response)
})
我将数据记录到console,但我有它。它不再给我警告,但仍然不工作。我将数据记录到console,并且我有它。它不再给我警告,但仍然不工作。它删除了警告,但我仍然没有得到数据。您从API响应中获得了什么数据。它是空的吗?我得到了newUser,它等于成功:FalseFromAPI你得到了响应,但是这个值没有返回到函数registerUser是这样的。我想是的。这就像我第二天做这件事,所以我有点困惑。它删除了警告,但我仍然没有得到数据。你从API响应中得到了什么数据。它是空的吗?我得到了newUser,它等于成功:FalseFromAPI你得到了响应,但是这个值没有返回到函数registerUser是这样的。我想是的。这就像我第二天做这件事,所以我对这一切有点困惑。