2016-04-23 37 views
0

我需要提出一些HTML请求,并且我决定使用Alamofire。Alamofire HTML请求仅适用于每次安装应用程序

我第一次在下面提出请求,它工作正常,返回访问密钥。然后,如果我尝试再次拨打任何电话(登录,注销,注册等任何呼叫),它不起作用,它会失败,并给我错误。

如果我删除应用程序并重新安装它,它会再次正常工作,比我可以再次发出1个请求,直到它开始给我错误。

这里的登录请求:

let parameters : [ String : String] = [ 
     "email": email, 
     "password":password 
    ] 
    Alamofire.request(.POST, url, parameters: parameters).validate() 
     .responseJSON { response in 
      switch response.result { 
      case .Success: 
       if let json = response.result.value { 
        print("JSON: \(json)") 
       } 
      case .Failure(let error): 
       print(error) 
      } 
     } 

这里是出现在每一它适用于每一个安装一次又一次的错误:

错误域= com.alamofire.error代码= -6003 “响应状态代码为>不可接受:403” 的UserInfo = {NSLocalizedFailureReason =响应状态>码是不能接受的:403}

任何帮助表示赞赏,谢谢。还提供

+0

可悲的是得到解决,不行,同样的错误继续 –

+0

您好,尝试我的答案。 –

回答

0

任何地方的结果可用,NSHTTPURLResponse。因此,如果您未在需要的地方通过响应,那么这是客户端的实施问题,而不是Alamofire的问题。这正是为什么它的设计方式。

响应还有很多其他的东西,除了statusCode之外,它可能是有用的。因此我们不想对statusCode作出特殊例外。以下是您应该如何尝试处理此问题的一个简单示例。

Alamofire.request(.GET, "https://httpbin.org/get") 
    .responseJSON { request, response, result in 
     switch result { 
     case .Success(let JSON): 
      print(JSON) 
     case .Failure(let data, let error): 
      print(response?.statusCode) 
      print(error) 

      callFailureMethod(response: response, result: result) 
     } 
    } 

OR

Alamofire.request(.GET, "https://httpbin.org/get") 
    .responseJSON { request, response, result in 
     debugPrint(result) 
     print(response?.statusCode) 

     callFailureMethod(response: response, result: result) 
    } 

祝您好运!

我从THIS.

相关问题