json - Swift http post 没有发布数据

标签 json swift http post urlsession

当尝试通过 http 向服务器发送发布数据时,它没有返回任何发布数据。这是一个示例代码:

var request = URLRequest(url: URL(string: "http://posttestserver.com/post.php")!)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
let json = "{\"key\":\"c7cbdc09820372\",\"rand\": \"13baa5274c2b107727\"}"
request.httpBody = json.data(using: .utf8)
URLSession.shared.dataTask(with: request) { (data, response, error) in
      if data != nil, let result = String(data: data!, encoding: .utf8) {
          print("\(result)")
      }
}.resume()

结果是:

Successfully dumped 0 post variables... No Post body.

最佳答案

将你的json字符串转换成字典然后

jsonData = 尝试? JSONSerialization.data(withJSONObject: dict, options: .prettyPrinted)

request.httpBody = jsonData

关于json - Swift http post 没有发布数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43944774/

相关文章:

json - 使用 jq reduce 汇总多个值

ios - 将按钮直接放置在标签的右侧(Swift)

ios - 重新加载除第一和第二之外的所有部分

javascript - 在 Ember 中使用 AJAX 发布后没有文件下载

使用 Apache HttpClient 通过 Web 代理进行 Java 通信失败

c++ - CAtlHttpClient - 导航到 IP6 地址似乎不起作用

javascript - 使用ajax上传数组缓冲区(音频缓冲区)的最佳方法

JSON NSBundle 错误 - 线程 1 :EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP, 子代码 = 0x0)

json - 将 JSON 解码为 Golang 类型 Big.Float

swift - FBSDK 的 Settings Class 中没有找到 setAdvertiserTrackingEnabled?