在我的离子应用程序中,我有一个要求登录的POST请求。这在iPhone上工作正常但是当我在Android手机上测试应用程序时,服务器返回404 Not Found错误。
我发出HTTP请求的代码如下:
loginUser: function(email,password) {
var em = email.replace(/\s/g,'');
var pw = password.replace(/\s/g,'');
var url = apiDomain + '/api/v1/user/login/';
if (em && pw) {
return $http.post(url, {
auth: {
email: em,
password: pw
}
}).then(function successCallback(response) {
alert('login success. response = '+JSON.stringify(response));
return response;
}, function errorCallback(response) {
alert('login fail. response = '+JSON.stringify(response));
return -1;
});
}
},
任何人都可以想到为什么这样可以在iPhone上运行而不在Android手机上运行?
errorCallback中alert()显示的文字是:
login fail. response = {
"data":"",
"status":404,
"config":{
"method":"POST",
"transformRequest":[null],
"url":"http://cues-server-dev.elasticbeanstalk.com/api/v1/user/login/",
"data":{
"auth":"{
"email":"aa@aa.aa",
"password":"alcohol"}},
"headers":{
"Accept":"application/json,text,plain,*/*",
"Content-Type":"application/json;charset=utf-8"}},
"statusText":"Not Found"}
我无法理解为什么这适用于iPhone但不适用于Android手机。
答案 0 :(得分:0)
可能与URL前缀有关。你尝试过使用过:
apiDomain = @"https://cues-server-dev.elasticbeanstalk.com"
或
apiDomain = @"http://www.cues-server-dev.elasticbeanstalk.com"
或其他一些变种。