簡體   English   中英

如何檢索Alamofire發出的請求的狀態消息?

[英]How can I retrieve the status message of a request made with Alamofire?

我正在使用的服務器在HTTP狀態消息中返回錯誤消息。 例如,它將返回“ 400用戶已存在”而不是“ 400錯誤的請求”。

我想在Alamofire調用的響應方法中訪問字符串“用戶已經存在”。 但是,我找不到任何訪問此字符串的方法。

我已經在StackOverflow上找到了這個問題: Swift Alamofire:如何獲取HTTP響應狀態代碼

不幸的是,沒有人給出這個問題的答案。 :(

這是Chrome顯示錯誤所在的位置:

狀態消息

我建議嘗試打印出給定的所有可能的數據字段,然后查看可以找到的內容。 請嘗試以下示例,看看是否有任何幫助。

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)!)")
        }
}

從服務器以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)")
}

希望這對您有幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM