我正在使用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)
}
}
答案 0 :(得分:0)
正确地说,错误消息具有误导性,但潜在的问题是您尝试将数组而不是字典作为parameters
值传递。
将其更改为
let param = [
"username": username!
]