【问题标题】:Alamofire always enter on Failure statusAlamofire 总是进入失败状态
【发布时间】:2016-11-11 14:02:16
【问题描述】:

我正在尝试使用 Alamofire 和 Swift 3.0 发出请求,但它总是进入失败状态。

这是我现在的代码:

let str = "http://url/{\"user\":\"1\",\"pass\":\"1\"}"

let encodedUrl = str.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)

        Alamofire.request(encodedUrl!, method: .get, parameters: nil, encoding: JSONEncoding.default, headers: nil).responseJSON { response in

            switch(response.result) {
            case .success(_):

                print("Success")

                break

            case .failure(_):
                print("Failure")
                break

            }
        }

如果我在Postman 应用程序上使用encodedUrl,我会得到很好的响应。它给了我以下 JSON:

[
  {
    "user": "1",
    "name": "peter"
  },
  {
    "user": "4",
    "name": "andrew"
  }]

我错过了什么?

提前致谢!

【问题讨论】:

  • 它的响应类型是json吧?不是htmltext? Postman 在大多数情况下显示格式化的文本。
  • @SunilChauhan 我怎么知道?
  • 在 POSTMan 中,查看此处:prntscr.com/d5zli6 或此处prntscr.com/d5zmac
  • @SunilChauhan 对于你的第二张图片,我注意到我的回复中有一个额外的字符串。谢谢!最后我解决了它删除了那个字符串。

标签: swift alamofire


【解决方案1】:

最后,我似乎从 JSON 中检索了一个额外的 String,因为我在我的 API 上使用了 echo

我看不到它,因为我在 Postman 上有将响应显示为 JSON 的选项,因此没有显示 String。我已将其更改为 HTML,然后我能够看到 String

删除多余的String 让我进入Alamofiresuccess 状态。

【讨论】:

    猜你喜欢
    • 2016-02-07
    • 2020-02-06
    • 2018-07-09
    • 1970-01-01
    • 1970-01-01
    • 2020-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多