2016-04-23 156 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.

相關問題