我正在尝试通过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"]
答案 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。
<强>解决强>