使用FORM DATA与Alamofire

Pan*_*včí 9 form-data alamofire swift2

我现在使用alamofire已有一段时间了,但我从未使用过表单数据Post.现在我被卡住了.我有2个参数(电子邮件,密码),不知道如何POST他们到服务器.谁能给我一个例子吗?

Ahm*_*ail 20

这里是Swift 3.0中Alamofire 4.0的示例代码

    let url = "http://testurl.com"

    let parameters = [
        "email": "asd@fgh.hjk",
        "password": "55555"
    ]


    Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON { response in
        switch response.result {
        case .success:
            if let value = response.result.value {
                print(value)
            }
        case .failure(let error):
            print(error)
        }
    }
Run Code Online (Sandbox Code Playgroud)


Pan*_*včí 12

所以我的解决方案是......你必须在Alamofire中指定参数编码.所以代码看起来像这样.

Swift 2.0

func registerNewUserFormData(completionHandler: (Bool, String?) -> ()){

        // build parameters
        let parameters = ["email": "test@test.cz", "password": "123456"]

        // build request
        Alamofire.request(.POST, urlDomain + "register", parameters: parameters, encoding: .URL).responseJSON { response in

            switch response.result {
            case .Success:
                print("Validation Successful")
                if let JSON = response.result.value {
                    print(JSON)
                }

            case .Failure(let error):
                print(error)

            }
        }
    }
Run Code Online (Sandbox Code Playgroud)


Moh*_*diq 5

斯威夫特 5

let url = "http://testurl.com"

let parameters = [
    "email": "asd@fgh.hjk",
    "password": "55555"
]


AF.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON { response in
    switch response.result {
    case .success:
        if let value = response.result.value {
            print(value)
        }
    case .failure(let error):
        print(error)
    }
}
Run Code Online (Sandbox Code Playgroud)