我已经写了一个使用Almofire进行REST的ios程序,对于应用程序的一部分,我需要发送一个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()
https://stackoverflow.com/questions/50566035
复制相似问题