代码之家  ›  专栏  ›  技术社区  ›  Kaveh Naseri

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

  •  0
  • Kaveh Naseri  · 技术社区  · 8 年前

    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 回复  |  直到 8 年前
        1
  •  0
  •   Maihan Nijat    8 年前

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

    改为:

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

    编码应该是 URLEncoding.httpBody

    推荐文章