2016-09-29 32 views
1

我是iOS的新手,我想知道为什么我的代码无法正常工作。我正在尝试拨打一个URL并传递一个令牌并获得响应。我的回复是404状态代码。使用Alamofire传递令牌和发布请求

let reverse = ["token": "831b21c47a7f7daee7d6e4e3fa11deaa"] 

     let url = "http://challenge.com" 


     Alamofire.request(url, parameters: reverse).responseJSON { response in 
      print(response.request) // original URL request 
      print(response.response) // HTTP URL response 
      print(response.data)  // server data 
      print(response.result) // result of response serialization 

      if let JSON = response.result.value { 
       print("JSON: \(JSON)") 
      } 
     } 
+0

您使用的是alamofire的哪个版本? –

+0

版本4 @EktaMakadiya –

+0

我假设您的请求是GET。对? –

回答

0

尝试娄代码:

Alamofire.request(url, method: .get, parameters: reverse, encoding: JSONEncoding.default).responseString { response in 
     print(response.request) // original URL request 
     print(response.response) // HTTP URL response 
     print(response.data)  // server data 
     print(response.result) // result of response serialization 

     if let JSON = response.result.value { 
      print("JSON: \(JSON)") 
     } 
    } 
+0

一旦从手机中删除应用程序并再次运行。 –

+0

我将方法更改为.post并且我有一个响应,但它不是我应该得到的json响应,并且如果让JSON = response.result.value {“JSON:\(JSON)”) }未运行 –

+0

print(response.result)。告诉我结果。 –

0

试试这个代码:

此代码也处理错误时的反应将是空白的,还互联网连接禁用。

func apiCall(params : [String:AnyObject],block:([String:AnyObject]->Void)?) { 

    if Reachability.isConnectedToNetwork(){ 
     Alamofire.request(.POST, URL, parameters: params, encoding: .JSON, headers: nil).responseJSON{ 
      response in 

      let data = response.result.value 
      if data == nil{ 
       if response.result.error?.code == -1005 { 
         print(response.result.error?.localizedDescription) 
       } 
      else{ 
       switch response.result { 
       case .Success: 
        block!(data as! [String:AnyObject]) 
       case .Failure(let error): 
        print(error) 
       } 
      } 
      } 
     } 
     else{ 
      print(NO_NETWORK) 
     } 
    }