我是 IOS 开发新手,目前正在学习 Alamofire 网络
我正在尝试登录...
只要凭据正确,.php 文件就会返回 json
我可以从 Alamofire
得到那个 json通过以下代码:
Alamofire.request(loginUrl, method: .post, parameters: parameters).responseJSON { (response:DataResponse<Any>) in
print("String:\(response.result.value)")
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(self.loginUrl)
print(data)
}
case .failure(_):
print(self.loginUrl)
print("failed")
print("Error message:\(response.result.error)")
break
}
}
现在......当凭据错误时,.php 不会提供 json..而是返回一个字符串..例如“wrong_password”或“userLocked”等......
如何通过 Alamofire 获得 String 响应?
最佳答案
如果你想要 JSON 响应使用 .responseJSON , 如果你想要 字符串 响应使用 .responseString .如果你想要两者都使用。希望这有帮助。
Alamofire.request(loginUrl, method: .post, parameters: parameters)
.responseJSON { response in
print("JSON:\(response.result.value)")
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(data)
}
case .failure(_):
print("Error message:\(response.result.error)")
break
}
}
.responseString { response in
print("String:\(response.result.value)")
switch(response.result) {
case .success(_):
if let data = response.result.value{
print(data)
}
case .failure(_):
print("Error message:\(response.result.error)")
break
}
}
更新:Swift 5,Alamofire 5 AF.request(urlString, method: .post, parameters: parameters)
.responseJSON { response in
print("response: \(response)")
switch response.result {
case .success(let value):
print("value**: \(value)")
case .failure(let error):
print(error)
}
}
.responseString { response in
print("response: \(response)")
switch response.result {
case .success(let value):
print("value**: \(value)")
case .failure(let error):
print(error)
}
}
关于Xcode : Alamofire get String response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44095161/