来自应用程序的HTTP POST请求适用于iPhone但不适用于Android手机

时间:2015-10-26 11:29:27

标签: android ios iphone ionic-framework http-post

在我的离子应用程序中,我有一个要求登录的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手机。

1 个答案:

答案 0 :(得分:0)

可能与URL前缀有关。你尝试过使用过:

apiDomain = @"https://cues-server-dev.elasticbeanstalk.com"

apiDomain = @"http://www.cues-server-dev.elasticbeanstalk.com"

或其他一些变种。