【问题标题】:Alamofire Post Request is not ExecutedAlamofire 发布请求未执行
【发布时间】:2017-07-20 12:31:44
【问题描述】:

我正在向我的 API 发出 POST 请求。突然之间,请求被跳过了。我已经尝试调试它,但直到现在都没有成功。

这是我的要求:

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

我正在使用 Alamofire 4.5 和 Swift 3.1。

【问题讨论】:

  • 您是否在Alamofire 闭包内添加了断点?请求是异步的,因此如果您只是单步执行代码,它可能不会被调用。
  • 另外,你的url 是空白的,是为了这个例子吗?
  • @Ollie 的 URL 是空白的 :) 是的,我添加了一堆断点。调用请求后,调试器直接跳到最后。
  • 如果您的网址为空,那么 Alamofire 将如何回复您?
  • @devangbhatt 空白网址仅用于场景描述。在“工作”示例中,Url 已填充

标签: swift swift3 xcode8 alamofire swifty-json


【解决方案1】:

请使用不同类型的数据请求处理块并再次检查。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-30
    • 2020-03-14
    • 2017-05-11
    • 2017-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2017-10-29
    相关资源
    最近更新 更多