额外的论据'方法'在电话中(Alamofire)

时间:2018-01-24 10:24:09

标签: alamofire swift4

我正在使用alamofire发出POST请求。我在其中发送了一个参数。但是我面临Extra argument 'method' in call的错误。错误显示在.post的方法上,我不知道为什么。我已经搜索过这个并得到了一些答案,但他们确实没有为我工作。正如我搜索过的那样,他们说这是一个与参数类型有关的问题。我根据给出的答案改变了它但没有奏效。我该如何解决这个问题?我的代码就是这个,

func ChoosePlan(completion:@escaping CompletionHandler){


    let param  =  [
    "username", username!
    ]

    let url = choosePlanUrl



    Alamofire.request( url!, method: .post, parameters: param, encoding: JSONEncoding.default, headers: nil).responseJSON { (response) in
        print("Request: \(String(describing: response.request))")   // original url request
        print("Response: \(String(describing: response.response))") // http url response
        print("Result: \(response.result)")// response serialization result

        if response.result.error == nil{
            self.status = (response.response?.statusCode)!
            if(self.status == 200){
                guard let data = response.data else {return}
                do{

                    if let json = try JSON(data: data).dictionary{
                        let  result = json["Response"]?.dictionary
                        print(result as Any)

                    }
                }catch let jsonErr{

                    print(jsonErr)
                }
            }

        }
        completion(true)
    }
}

错误看起来像这样, enter image description here

1 个答案:

答案 0 :(得分:0)

正确地说,错误消息具有误导性,但潜在的问题是您尝试将数组而不是字典作为parameters值传递。

将其更改为

let param  =  [
    "username": username!
]