Alamofire POST错误请求

时间:2017-10-29 13:04:47

标签: ios swift3 alamofire

我正在尝试通过Alamofire向我的服务器发送一个帖子请求,但它返回一个错误的请求,说明参数形成错误。同样的要求是邮差和招摇。

以下是代码:

var params = [
            "username": "jora@company.com",
            "password": "test123",
            "pushToken": "No token"
    ]

Alamofire.request("https://thankyouposta.com/api/auth", method: .post, parameters: params, encoding: URLEncoding.default, headers: R.Api.headers).responseJSON { response in
        switch response.result {
        case .success(let value):
            // ...
        case .failure(let error):
            // ...
        }
    }

更新1

参数需要以url encoded body

的形式发送

更新2

R.Api.headers的价值是

["Content-Type" : "application/x-www-form-urlencoded"]

2 个答案:

答案 0 :(得分:1)

如果您想以form-urlencoded方式发送请求,则应将其作为标题添加并更改编码:

let headers = [
                "Content-Type": "application/x-www-form-urlencoded"
            ]
        var params = [
            "username": "jora@company.com",
            "password": "test123",
            "pushToken": "No token"
    ]

        Alamofire.request("your_url_here", method: .post, parameters: parameters, encoding:  URLEncoding.httpBody, headers: headers).responseJSON { response  in 
}

答案 1 :(得分:0)

后端是一个重定向到Tomcat的IIS服务器。我已经排除了IIS并直接向Tomcat发出请求,现在它正在运行。据我所知,问题在于将请求从IIS传递给Tomcat。

<强>解决