2015-08-24 404 views
1

我正在登錄我的項目,我正在使用Alamofire請求(swift 2.0),我總是收到一個我無法解決的錯誤。Alamofire POST請求錯誤NSURLErrorDomain代碼= -999

錯誤域= NSURLErrorDomain代碼= -999 「取消」 的UserInfo = ... {NSErrorFailingURLKey = ...,NSLocalizedDescription =取消,NSErrorFailingURLStringKey = ...}

這裏是我的代碼:

func login(email: String, password: String, completionHandler: (user: User?, statusCode: Int?, error: NSError?) ->()) { 
    let parameters: [String: AnyObject] = [ 
     "email" : email, 
     "password" : password 
    ] 


    let urlSuffix = "loginUser" 


    request(.POST, baseUrl + urlSuffix, parameters: parameters) 
     .authenticate(user: email, password: password) 
     .validate() 
     .responseObject { (request, response, userJSON: Result<User>) in 
      print(request?.description) 
      print(response) 
      print(userJSON.value) 
      completionHandler(user: userJSON.value, statusCode: response?.statusCode, error: userJSON.error) 
     } 


} 

當用戶按下按鈕時,我在我的LoginController中調用該函數。

我通過了很多關於該錯誤的帖子,但沒有人給我一個解決方案。問題是,我需要響應,一個JSON對象女巫包含用戶的ID。但我的Result<User>是由於錯誤。

回答

2

問題已解決,我將錯誤的變量傳遞給.authenticate()它們應該與我的參數不同(email, password)

1

確保您的baseUrl使用HTTPS協議或爲該域禁用App Transport Security。

1

-999線索被「取消」。您的連接不被允許。一種可能的原因是您嘗試建立SSL連接,但客戶端不信任SSL證書。

如果這是帶有自簽名證書的開發系統,則需要設置allowsInvalidSSLCertificate

否則,檢查SSL鎖定。它在默認情況下處於啓用狀態,這意味着您可能需要預先加載證書以使服務器可信。

相關問題