响应中缺少 Alamofire 参数
Posted
技术标签:
【中文标题】响应中缺少 Alamofire 参数【英文标题】:Alamofire Parameter missing in response 【发布时间】:2016-12-21 05:06:56 【问题描述】:我安装了Alamofire
的pod文件来调用web服务,当没有参数传递给web服务时成功检索数据,但当我尝试传递参数时显示此参数丢失。
这是我的代码:
let parameters: Parameters = ["client_id": "1","user_token":"A4YkkH5FdTbRCI8Mk98s"]
let url = "http://***********/index.php/Web_api/get_client_profile"
Alamofire.request(url , method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: nil).responseJSON (response:DataResponse<Any>) in
switch(response.result)
case .success(_):
if response.result.value != nil
print(response.result.value)
break
case .failure(_):
print(response.result.error)
break
回复:
"message : client_id parameter missing",
"Code : 500"
我做错了什么?请帮帮我。 谢谢
【问题讨论】:
没问题,从php端看不区分大小写 你用邮递员测试了吗?这是服务器端错误,与此代码几乎无关 我已经在邮递员中对其进行了测试,我正在获取数据,并且我还使用 afnetworking 实现了它,它可以工作,但在 alamofire 中它不能工作@Tj3nParameters
这个类型是什么?应该是[String:AnyObject]
是的,但是我想传递多个参数
【参考方案1】:
在敲了我 6 个小时之后,我想出了一个不同的方法,这是一种调用它的方法,它有效:
var request: Alamofire.Request?
didSet
oldValue?.cancel()
func loadDataFromServer(message:String?)
// Prerequisites for Connection to Server
let timeParameter = self.getLastTimeStamp()
let url = "http://your.amazing.url/path/component/classs"
let parameter = ["timestamp":timeParameter]
//sho hud only of there is no data listed
if message != nil
HUD.show(HUDContentType.label("Loading.."))
self.request = Alamofire.request(url, method: .post, parameters:parameter)
if let request = request as? DataRequest
request.responseString response in
PKHUD.sharedHUD.hide()
do
let dictionary = try JSONSerialization.jsonObject(with: response.data!, options: JSONSerialization.ReadingOptions.allowFragments) as! NSDictionary
//Save and Fetch
self.saveTimestamp(dictionary: dictionary, wsEntity: "Section")
self.saveDataInPersisanceStorage(articalDictionary: dictionary)
self.fetchDatafromCore()
//HUD.flash(.success, delay:1.0)
catch
//HUD.flash(.error, delay:1.0)
【讨论】:
我会尝试并告诉你 谢谢你,我已经厌倦了调用它,但你的方法为我做到了。谢谢以上是关于响应中缺少 Alamofire 参数的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Swift 3 中使用 Alamofire 在 POST 请求中将给定的 JSON 作为参数发送?