如何使用Alamofire将参数发布到服务器?

时间:2018-05-31 06:14:03

标签: ios swift alamofire swift4.1

我不知道我是否正确发布参数?

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)
        }
    }
}

当用户尝试从购物车中删除某个商品时,会触发上述功能 删除项目后,购物车中的其余项目将返回。

此外,我使用postman对其进行了测试,结果很成功。

1 个答案:

答案 0 :(得分:0)

我找到了答案,问题出在参数和编码中。

将其更改为:

 ++ awk -v 'pat1=\[[gG][lL][oO][bB][aA][lL]\]' 'f;/^[:space:]\[[gG][lL][oO][bB][aA][lL]\][:space:]*$/{f=1}

编码应为let parameters: [String:Any]= [ "removefromcart": rowId, "Content-Type" : "application/form-data" ]