如何使用Alamofire将post参数传给服务器?
How to post parameters to the server using Alamofire?
不知道我发的参数对不对?
func removeCart(rowId: Int, completion: @escaping (Bool)->()) {
let urlString = "\(BaseUrl.Protina.rawValue)/ApiShoppingCart/UpdateCart"
let headers: HTTPHeaders = ["Content-Type": "application/form-data"]
let parameters : [String: Any] = ["removefromcart": rowId]
Alamofire.request(urlString, method: .post, parameters: parameters,encoding: JSONEncoding.default, headers: headers).responseJSON { response in
switch response.result {
case .success(let data):
let jsonData = JSON(data)
print(jsonData)
completion(true)
case .failure(let error):
print(error)
}
}
}
当用户尝试从购物车中移除商品时,会触发上述函数
项目删除后,购物车中的其余项目将 return。
另外,我用postman
测试过,成功了。
我找到了答案,问题出在参数和编码上。
改为:
let parameters: [String:Any]= [
"removefromcart": rowId,
"Content-Type" : "application/form-data"
]
编码应该是URLEncoding.httpBody
不知道我发的参数对不对?
func removeCart(rowId: Int, completion: @escaping (Bool)->()) {
let urlString = "\(BaseUrl.Protina.rawValue)/ApiShoppingCart/UpdateCart"
let headers: HTTPHeaders = ["Content-Type": "application/form-data"]
let parameters : [String: Any] = ["removefromcart": rowId]
Alamofire.request(urlString, method: .post, parameters: parameters,encoding: JSONEncoding.default, headers: headers).responseJSON { response in
switch response.result {
case .success(let data):
let jsonData = JSON(data)
print(jsonData)
completion(true)
case .failure(let error):
print(error)
}
}
}
当用户尝试从购物车中移除商品时,会触发上述函数 项目删除后,购物车中的其余项目将 return。
另外,我用postman
测试过,成功了。
我找到了答案,问题出在参数和编码上。
改为:
let parameters: [String:Any]= [
"removefromcart": rowId,
"Content-Type" : "application/form-data"
]
编码应该是URLEncoding.httpBody