【问题标题】:how to post id and password by alamofire如何通过alamofire发布ID和密码
【发布时间】:2017-06-19 15:04:41
【问题描述】:

全部。 我学习 iOS 和 alamofire。

我尝试连接登录 API url。它运行正常。

这是代码。

var rTest = Alamofire.request(self.authLoginUrl, method: .post)
            .responseJSON{ response in
                print(response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialization

                if let JSON = response.result.value {
                    print("JSON: \(JSON)")
                }
        }

    }

我想发布 id 和密码

let params = ["Username": "ryulstory", "Password": "1234!"]
        var rTest = Alamofire.request(self.authLoginUrl, method: .post, Parameters: params)
            .responseJSON{ response in
                print(response.request)  // original URL request
                print(response.response) // URL response
                print(response.data)     // server data
                print(response.result)   // result of response serialization

                if let JSON = response.result.value {
                    print("JSON: \(JSON)")
                }
        }

    }

有错误:调用中的额外参数“方法”。 如果我不输入参数,错误不会显示。 什么是问题?你能帮帮我吗?

最好的问候。

【问题讨论】:

  • 您使用的是什么版本的 Alamofire?试试parameters: params
  • @u.gen 谢谢你很有帮助

标签: ios post methods alamofire


【解决方案1】:

假设您的后端接收并返回 JSON,这应该可以工作

let params: Parameters = [
    "Username": "ryulstory", 
    "Password": "1234!"
]

//if server accepts and returns JSON
Alamofire.request(self.authLoginUrl, method: .post, parameters: params, encoding: URLEncoding.default, headers: nil).validate().validate(contentType: ["application/json"])
            .responseJSON() { response in
                switch response.result {

                case .success:
                    print("Success")
                case .failure(let error):
                      print("Failure")
                }
            }
            .response { response in
                log.debug("Request: \(String(describing: response.request))")
                log.debug("Response: \(String(describing: response.response))")
                log.debug("Error: \(String(describing: response.error))")

                if let data = response.data, let utf8Text = String(data: data, encoding: .utf8) {
                    log.debug("Data: \(utf8Text)")
                }
        }

【讨论】:

    猜你喜欢
    • 2017-11-13
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 1970-01-01
    • 1970-01-01
    • 2012-07-21
    相关资源
    最近更新 更多