ios - Alamofire POST 请求不工作

标签 ios swift alamofire

let requestDictionary : [String: AnyObject] = [
  "sm_username" : name as AnyObject,
  "sm_password" : pass as AnyObject
]  

let headers = [
  "Authorization": "Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==",
  "Content-Type": "application/x-www-form-urlencoded",
  "Krikor": "Krikor"
]

Alamofire.request(baseURL+"login", method: .post, parameters: requestDictionary, encoding: JSONEncoding(options: []),headers: headers
        ).responseJSON{ response in
   debugPrint(response)                
   print("krirkrkdkd")
   print(response)      
}

所以基本上,标题没有被传递。既没有编码参数。为什么?以及如何修复?

最佳答案

奇克尔,

这是一个 alamofire 请求的工作示例,包括编码。

func files_download(sourcePath: String) {

    let defaults = UserDefaults.standard
    if let name = defaults.string(forKey: "dropBoxAuth")
    {
        token2Save = name
    }

    var headers:HTTPHeaders!
    let subPart: Dictionary =  ["path":sourcePath]
    do {
        let data = try JSONSerialization.data(withJSONObject: subPart, options: [])
        let dataString = String(data: data, encoding: .utf8)
        headers = ["Authorization": "Bearer " + token2Save, "Dropbox-API-Arg": dataString!]
    } catch {
        print("error")
    }

    Alamofire.request("https://content.dropboxapi.com/2/files/download", method: .post, encoding: JSONEncoding.init(options: []), headers: headers).responseData(completionHandler: {feedback in
        guard feedback.result.value != nil else {
            print("Error: did not receive data", print("request \(request) feedback \(feedback)"))
            return
        }
        guard feedback.result.error == nil else {
            print("error calling POST on list_folder")
            print(feedback.result.error)
            return
        }
        if let JSON = feedback.result.value {    
            let dataString = String(data: JSON, encoding: .utf8)  
        }
        if let IMAGE = feedback.result.value {
            sharedDataAccess.fnData(index2seek: 0, fnData:  feedback.result.value! as Data)
            NotificationCenter.default.post(name: Notification.Name("nextACtion"), object: nil, userInfo: nil)
        }
    })

关于ios - Alamofire POST 请求不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40462597/

相关文章:

swift3 - 在 Alamofire 请求的正文中发送 JSON 数据

ios - Firebase 消息传递方法 swizzling 不起作用

swift 4 : Can an object remove itself from a collection

ios - Swift ios 检查哪个 View Controller 存在

swift - UIAlertAction 在其回调中关闭 UIAlertController

iOS 快速、随机崩溃 String 和 UIButton

xcode - 无法让 Alamofire 在模拟器中运行

swift - 在 Playground 中使用 Alamofire

ios - Instagram私有(private)API关注者/取消关注者

javascript - iOS 网页 View : Prompt an user to download image using only JavaScript