Я написал программу ios, которая использовала Almofire для REST, для части приложения мне нужно отправить POST-запрос на сервер и получить JSON, Alamofire правильно отправить запрос и ответ сервера на приложение, но Almofire делаетне показывать ответ, фактически в приведенном ниже коде, компилятор никогда не запускает «print (Result)», даже ответ сервера правильно, почему?(в коде комментарии не на английском!)
Alamofire.request(urlString, method:HTTPMethod.post , parameters: parameters, encoding: JSONEncoding.default, headers:headers).responseJSON
{ Result in
// (responseData) -> Void in
print(Result)
if((Result.result.value) != nil)
{
//data ra be value tabdil mikonad
let ResValue = JSON(Result.result.value!)
print(ResValue)
//check mikone ke aya key be name access_token vojod dare ya na
if ( ResValue["error"].exists() )
{
//agar token expire shode bud
if (ResValue["error"] == "Authorization Required")
{
let pass = keychain.get("password")
//initial kardan class marbut be function get token
let get = LoginAndRegistration()
//estefade az function get token
get.getToken(userName:userName,passWord:pass!)
{ results in
//agar gereftan token taiid shod
if results == "token got!"
{
//gereftan data
Alamofire.request(urlString,method: .post, parameters: parameters, encoding: JSONEncoding.default, headers: ["content-Type":"application/json","Authorization":"JWT \(token)"]).responseJSON
{ response in
//agar data vojod dasht
if((response.result.value) != nil)
{
//data ra be value tabdil mikonad
let responseValue = JSON(response.result.value!)
//enteghal data be dakhel tabe khanandeh
//self.hairdressShow(json: responseValue)
DataRe(responseValue)
}
}
}
//agar token jadid ham daryaft nashod
else
{
//seque be login page
//DataRe((["test"] as AnyObject) as! Array<Any>,1,1)
// DataRe(["message":"seque"])
}
}
}
}
//agar value "Data" vojod dasht, yani hamechi ok !
if ( ResValue["Data"].exists() )
{
//self.hairdressShow(json: ResValue)
DataRe(ResValue)
}
else
{
// DataRe(["message":"Something's Wrong"])
}
}
}.resume()