Swift 2.0 POST 正文空

Posted

技术标签:

【中文标题】Swift 2.0 POST 正文空【英文标题】:Swift 2.0 POST Body null 【发布时间】:2015-07-19 09:41:42 【问题描述】:

使用数据包分析器,我发现我的 HTTP 正文为空。 POST请求中没有发送我的参数有什么原因吗?

let request = NSMutableURLRequest(URL: NSURL(string:"SERVERURL")!)
    request.HTTPMethod = "POST"

    do 
        let params = ["returnInt":"5"] as Dictionary<String,String>
        request.HTTPBody = try NSJSONSerialization.dataWithJSONObject(params, options: NSJSONWritingOptions.PrettyPrinted)
        request.addValue("application/json", forHTTPHeaderField: "Content-Type")
        request.addValue("application/json", forHTTPHeaderField: "Accept")
     catch 
        //Do nothing
    
        let task = NSURLSession.sharedSession().dataTaskWithRequest(request)
        data, response, error in

        if error != nil
            print("error=\(error)")
            return
        
        let responseString = NSString(data: data!, encoding: NSUTF8StringEncoding)
        print("\(responseString)")
    
    task!.resume()

【问题讨论】:

【参考方案1】:

正如我在 Playground 中看到的 println()request.HTTPBody 不是 nil。另外,我的分析器也没有显示 nil

【讨论】:

以上是关于Swift 2.0 POST 正文空的主要内容,如果未能解决你的问题,请参考以下文章

OkHttp 2.0 响应(POST 请求)正文字符串为空字符串

AFNetworking 2.0:是不是可以将纯 json 放入 POST 请求的正文中?

通过 HTTP 客户端 POST 一个空的正文

带有正文的 Swift HTTP POST

尝试使用 WebClient 将空正文传递给 POST 端点

Swift POST 正文参数未接收