我正在使用的服务器在HTTP状态消息中返回错误消息。例如,它将返回" 400用户已存在"而不是" 400 Bad Request"。
我想访问字符串"用户已存在"在Alamofire调用的响应方法中。但是,我找不到任何方法来访问此字符串。
我已经在StackOverflow上找到了这个问题:Swift Alamofire: How to get the HTTP response status code
不幸的是,没有人回答这个问题。 :(
以下是Chrome显示错误的位置:
答案 0 :(得分:2)
我建议您尝试打印出所有可能的数据字段并查看可以找到的内容。请尝试以下示例,看看是否有任何消息。
let URL = NSURL(string: "your/url/to/somewhere")!
let parameters = ["foo": "bar"]
Alamofire.request(.POST, URL, parameters: parameters)
.response { request, response, data, error in
println("Request: \(request)")
println("Response: \(response)")
println("Error: \(error)")
if let data = data as? NSData {
println("Data: \(NSString(data: data, encoding: NSUTF8StringEncoding)!)")
}
}
答案 1 :(得分:0)
从服务器返回json格式的响应,然后我认为您将能够获得适当的状态。
我已经使用php codeigniter ...从我的响应就像
那样实现了这个东西 $response['status'] = 'user_already_exists';
$this->response($response, 400);
现在,你可以随时使用
Alamofire.request(.POST,URL, parameters:parameters) .responseJSON
{
(request, response, data, error) in
var json = JSON(data!) //I've used swiftyJSON for reading json response
let status = json["status"].stringValue
println("Status : \(status)")
}
希望这可以帮助你。