我正在使用AppGyver Steroids和AngularJS开发混合移动应用程序。在这个移动应用程序中,我需要使用我开发的另一个项目的RESTful API;这是我从移动应用程序发送的示例请求:
var data = {
'email': $scope.userEmail,
'password': $scope.userPassword
}
$http.post('http://example.com/api-auth-token/?format=json', data)
.success(function(data, status, headers, config) {
alert(data);
$location.path('/profile');
})
.error(function(data, status, headers, config) {
// show error details
navigator.notification.alert(
'Authentication failed. (' + status + ')',
null,
'Error',
'Okay'
);
});
此请求非常好地到达服务器,并生成状态代码为200的有效响应...至少在我检查服务器日志时就是这种情况。移动应用程序显示一个消息框,提示“身份验证失败。 (404)'与服务器日志的内容相矛盾。
编辑:我还开发了一个使用这些API的原生iOS应用程序,它没有任何问题。
答案 0 :(得分:0)
事实证明,服务器生成的响应中缺少Access-Control-Allow-Origin标头,这是罪魁祸首。