2015-12-22 306 views
4

我正致力於將我的項目從AFNetworking轉移到Alamofire。真的很喜歡這個項目。 POST請求工作得很好,但是,我在嘗試發出GET請求時收到此錯誤。Alamofire請求錯誤只對GET請求

下面是一些示例代碼:

class func listCloudCredntials(onlyNew onlyNew: Bool = true, includePending: Bool = true) -> Request { 

    let parameters: [String: AnyObject] = includePending ? ["include_pending": "true"] : [:] 

    let urlString = "https://myapp-staging.herokuapp.com/api/1/credntials" 

    let token = SSKeychain.storedToken() 

    let headers: [String: String] = ["Authorization": "Bearer \(token)"] 

    return Alamofire.request(.GET, urlString, parameters: parameters, encoding: .JSON, headers: headers) 
} 

我收到此錯誤:-1005 The network connection was lost

不過,如果我更改請求類型.POST,請求 「作品」。我收到一個401代碼,但至少該請求不會丟失網絡連接。

我在做什麼錯?

回答

15

你編碼請求的身體參數,JSON,試圖通過改變編碼編碼的URL的參數URL

return Alamofire.request(.GET, urlString, parameters: parameters, encoding: .URL, headers: headers) 

由於這是默認的行爲,你可以簡單地刪除它:

return Alamofire.request(.GET, urlString, parameters: parameters, headers: headers) 
+0

最後!而已。謝啦! –

+0

您好我正在使用'Alamofire.request(url,method:.post,parameters:parameters,headers:headers).responseJSON'但我仍然遇到這個錯誤,當我連續擊中API ..請幫助我。這個錯誤強調了我自Alamofire的開端。 –

+0

@amirt嗨,哥們,你是怎麼解決這個問題的。我使用與您的方法相同的方法,並在持續點擊API時發生錯誤。我的網絡非常好。 – JsW