2017-07-20 21 views
0

私のAPIにPOSTリクエストをしています。突然、リクエストはスキップされています。私はそれにデバッグしようとしましたが、今まで成功していませんでした。Alamofire投稿要求が実行されていません

これが私の要求です:

@IBAction func checkLogin(_ sender: Any) { 
    guard let managedContext = self.managedObjectContext else { return } 

    let user = NSEntityDescription.insertNewObject(forEntityName: User.identifier, into: managedContext) as! User 

    let url = "" 

    let parameters: Parameters = 
     ["username" : usernameTextField.text!, "password" : passwordTextField.text!] 


    Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default).responseJSON { (responseData) -> Void in 

     let results = JSON(responseData.result.value!) 
     print(results) 

     user.firstName = results["firstname"].string! 

     let responseString : String = responseData.response?.allHeaderFields["Set-Cookie"] as! String 

     if let range = responseString.range(of: ";"){ 
      let startIndex = (responseString.range(of: "=")) 

      let cookie = responseString[(startIndex?.upperBound)!...range.lowerBound] 
      user.setValue(cookie, forKey: "token") 

     } 
    } do { 
     try self.dataController.saveContext() 
    }catch { 
     print("Save Error User") 
    } 

私はスウィフト3.1でAlamofire 4.5を使用しています。

+0

「Alamofire」クロージャの中にブレークポイントを追加しましたか?要求は非同期なので、コードをステップ実行するだけでは呼び出されないように見えるかもしれません。 – Ollie

+0

また、あなたの 'url'は空白ですが、これはこの例の目的ですか? – Ollie

+0

@Ollie目的のためにURLが空白です:)そして、私はブレークポイントを追加しました。要求が呼び出された後、デバッガは最後までスキップします。 –

答えて

0

さまざまなタイプのデータリクエスト処理ブロックを使用して、もう一度確認してください。

Alamofire.request(url, method: .post, parameters: parameters, encoding: URLEncoding.default) 

.responseJSON { response in 
    print("JSON Response") 
} 
.responseData { response in 
    print("Data Response")    
} 
.responseString { response in 
    print("String Response") 
} 
.responsePropertyList { response in 
    print("PropertyList Response") 
} 
関連する問題