Javascript 我的API服务不断陷入错误案例-AngularJS 服务 控制器 后果
我看到这些Javascript 我的API服务不断陷入错误案例-AngularJS 服务 控制器 后果,javascript,angularjs,Javascript,Angularjs,我看到这些 {location: "http://ddddd.com/hom…zg2fQ.D9pDqUBD3bcKnH_bPoGCpd-odxJ48LUZTKOGZZnV0Y0"} 我不知道为什么我会陷入错误案例部分,但我似乎从服务器得到了正确的响应 有人能帮我解释一下吗?这项服务使用了。虽然这不是问题的根源,但请修复它并添加console.log语句: onboardingApp.service('apiService', function ($http, $q, $lo
{location: "http://ddddd.com/hom…zg2fQ.D9pDqUBD3bcKnH_bPoGCpd-odxJ48LUZTKOGZZnV0Y0"}
我不知道为什么我会陷入错误
案例部分,但我似乎从服务器得到了正确的响应
有人能帮我解释一下吗?这项服务使用了。虽然这不是问题的根源,但请修复它并添加console.log
语句:
onboardingApp.service('apiService', function ($http, $q, $localStorage) {
//Testing code
var self = this;
self.login = (user) => {
̶l̶e̶t̶ ̶d̶e̶f̶e̶r̶ ̶=̶ ̶$̶q̶.̶d̶e̶f̶e̶r̶(̶)̶;̶
let login = {
username: user.username,
password: user.password
};
return $http({
method: 'POST',
url: `http://ddd.com/login`,
data: login
}).then(
(response) => {
console.log("success", response);
setAuthToken(response);
return response.data;
},
(error) => {
console.log("error",error);
throw error;
}
);
};
});
这将允许您诊断问题
成功登录后,它应该返回状态代码200,而不是302。我如何调整您的代码以接受302作为成功而不是错误 要将被拒绝的承诺转换为成功的承诺,只需
向拒绝处理程序返回值:
return $http({
method: 'POST',
url: `http://ddd.com/login`,
data: login
}).then(
(response) => {
console.log("success", response);
setAuthToken(response);
return response.data;
},
(error) => {
console.log("error",error);
if (error.status==302) {
console.log("Converting erroneous API response");
error.status==200;
return error.data;
};
//ELSE
throw error;
}
);
那张图片只显示了请求。反应如何?状态超出范围200…299返回被拒绝的承诺。@georgeawg response似乎与我期望返回的数据配合得很好。response.Status
?我无法访问response.Status
,因为我的代码一直进入error
块。Status
属性也附加到对象返回到拒绝处理程序。您的代码显示与我以前的代码相同的结果。是否在控制台中没有任何记录的情况下失败?状态302是“永久移动”重新定向。浏览器应自动从指定位置获取数据。它通常不会传递给$http服务。应用程序中是否配置了调试程序?我甚至尝试放置调试程序,它仍然只进入错误部分。它进入错误部分,因为状态超出范围200…299。状态302超出该范围。我很困惑,为什么服务器响应302重定向,而浏览器不遵循重定向。此外,重新定向的位置应该在响应的头中,而不是在响应的主体中。
onboardingApp.service('apiService', function ($http, $q, $localStorage) {
//Testing code
var self = this;
self.login = (user) => {
̶l̶e̶t̶ ̶d̶e̶f̶e̶r̶ ̶=̶ ̶$̶q̶.̶d̶e̶f̶e̶r̶(̶)̶;̶
let login = {
username: user.username,
password: user.password
};
return $http({
method: 'POST',
url: `http://ddd.com/login`,
data: login
}).then(
(response) => {
console.log("success", response);
setAuthToken(response);
return response.data;
},
(error) => {
console.log("error",error);
throw error;
}
);
};
});
return $http({
method: 'POST',
url: `http://ddd.com/login`,
data: login
}).then(
(response) => {
console.log("success", response);
setAuthToken(response);
return response.data;
},
(error) => {
console.log("error",error);
if (error.status==302) {
console.log("Converting erroneous API response");
error.status==200;
return error.data;
};
//ELSE
throw error;
}
);