【问题标题】:Sending JSON data in the body of Alamofire Request在 Alamofire 请求正文中发送 JSON 数据
【发布时间】:2017-05-15 21:04:40
【问题描述】:

我正在尝试使用Alamofire(4.0 版)进行 api 调用以提交一些数据。我认为请求已成功。但我遇到的问题是,在拨打电话时,我从服务器收到了 0 字节 FAILURE 的响应。

我已经尝试了 StackOverflow 上当前的许多解决方案,但找不到解决方案。感谢您的帮助。

这是我的Postman 设置:

我的 Swift 代码:

import UIKit
import Alamofire

class ViewController: UIViewController {

    override func viewDidLoad() {
        super.viewDidLoad()

        let headers: HTTPHeaders = [ "content-type": "x-www-form-urlencoded"]


        Alamofire.request("myurl.php?method=GET_RECENT", headers: headers).responseJSON { response in
            debugPrint(response)
            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)")
            }
        }

    }
}

我得到的错误是:

[请求]: myurl.php?method=GET_RECENT [响应]: { URL: myurl.php?method=GET_RECENT } { 状态码: 200, headers { “缓存控制”=“最大年龄=0”; 连接=“保持活动”; “内容长度”= 0; “内容类型”=“文本/html;字符集=UTF-8”; 日期 =“星期日,2017 年 1 月 1 日 11:41:31 GMT”; 过期 =“星期日,2017 年 1 月 1 日 11:41:31 GMT”; “保活”=“超时=7,最大值=100”; 服务器 = "Apache/2.2.15 (CentOS)"; "X-Powered-By" = "PHP/5.6.25"; } } [数据]: 0 字节 [结果]:失败: responseSerializationFailed(Alamofire.AFError.ResponseSerializationFailureReason.inputDataNilOrZeroLength) [时间线]:时间线:{“请求开始时间”:504963459.698,“初始响应时间”:504963459.821,“请求完成时间”:504963459.821,“序列化完成时间”:504963459.821,“延迟”:0.123秒,“请求持续时间” :0.123 秒,“序列化持续时间”:0.001 秒,“总持续时间”:0.124 秒} 可选(myurl.php?method=GET_RECENT) 可选({ URL:myurl.php?method=GET_RECENT } { 状态码:200,标题 { “缓存控制”=“最大年龄=0”; 连接=“保持活动”; “内容长度”= 0; “内容类型”=“文本/html;字符集=UTF-8”; 日期 =“星期日,2017 年 1 月 1 日 11:41:31 GMT”; 过期 =“星期日,2017 年 1 月 1 日 11:41:31 GMT”; “保活”=“超时=7,最大值=100”; 服务器 = "Apache/2.2.15 (CentOS)"; "X-Powered-By" = "PHP/5.6.25"; } }) 可选(0 字节) 失败

【问题讨论】:

  • 您确定您的请求正文有效吗?对我来说,这似乎不是一个有效的JSONThis 会更喜欢。
  • 谢谢。我还不知道 JSON 请求与 html 有什么不同。那你能帮帮我吗?
  • 你能显示生成 JSON 输出的代码吗?以及您尝试发布的完整 JSON?另外,您是从哪里收到此错误的?
  • 这是邮递员视图。我想下载这个数据。 drive.google.com/file/d/0Byvzu5SJNHYuMTNiRG5UdTdMN2M/…

标签: php json api swift3 alamofire


【解决方案1】:

我认为您设置的 Postman 设置无效。要将JSON 作为GET 请求中的数据发送,您应该使用raw 选项,如下图所示。

【讨论】:

  • 谢谢。我用另一个代码解决了它!您的回答很有帮助!
猜你喜欢
  • 2017-05-04
  • 2019-09-15
  • 2015-10-28
  • 2013-10-07
  • 2015-10-25
  • 2019-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多