3
我正面臨AFNetworking 2.0(在Swift上編碼)的問題。圖書館的GET方法似乎對我來說很完美。雖然,POST方法返回我錯誤。錯誤是錯誤的用戶名/密碼。從第一次看起來似乎是身份驗證問題,但實際上當我嘗試Postman(REST客戶端)上的POST請求時效果很好。AFNetworking 2.0 POST請求不能正常工作
所以我在做什麼:
配置:
var policy : AFSecurityPolicy = AFSecurityPolicy();
policy.allowInvalidCertificates = true;
self.client = AFHTTPRequestOperationManager(baseURL: self.basicUrl)
self.client!.operationQueue = NSOperationQueue.mainQueue()
self.client!.securityPolicy = policy
var responseSerializer : AFJSONResponseSerializer = AFJSONResponseSerializer()
self.client!.responseSerializer = responseSerializer
var requestSerializer : AFJSONRequestSerializer = AFJSONRequestSerializer()
requestSerializer.setValue("application/json", forHTTPHeaderField: "Accept")
self.client!.requestSerializer = requestSerializer
和我的要求
internal func loginUser(email : String, password : String, onCompletion : WebClientLoginResponse) -> Void
{
var params : Dictionary = ["email":email, "pass":password]
self.client!.POST("login", parameters: params, success: { (operation : AFHTTPRequestOperation!, response : AnyObject!) -> Void in
var finalResponse : Dictionary = Dictionary<String, String>()
finalResponse = response as Dictionary
onCompletion(true, nil, nil, nil)
}) { (operation : AFHTTPRequestOperation!, error : NSError!) -> Void in
println("Error \(error.description) \(operation.responseObject) ")
onCompletion(false, nil, nil, nil)
}
}
你覺得什麼人?我錯過了什麼?
謝謝!
嘿託德首先感謝您的回答。看來問題在於我還設置了requestSerializer。 (不僅是responseSerializer)。看來,如果你分配他們兩個,POST不起作用(出於某種奇怪的原因)。因此,當我刪除了配置requestSerializer的行時,POST正常運行!我不知道爲什麼! – Tzegenos 2014-10-30 23:54:43
哦,我沒有注意到!似乎可能是AFNetworking中的一個錯誤。很高興現在正在工作。 – 2014-10-31 00:05:57
@Tzegenos謝謝,刪除這些行解決了我的問題! – NBoymanns 2015-09-08 14:49:36