- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我见过两种组成HTTP body的方法。
第一个是:
let url = NSURL(string: "http://example.com")
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
let postString = "id=13&name=Jack"
request.HTTPBody = postString.dataUsingEncoding(NSUTF8StringEncoding)
第二个是:
let url = NSURL(string: "http://example.com")
let request = NSMutableURLRequest(URL: url!)
request.HTTPMethod = "POST"
let params = ["id":"13", "name":"Jack"] as Dictionary<String, String>
var err: NSError?
request.HTTPBody = NSJSONSerialization.dataWithJSONObject(params, options: nil, error: &err)
当我直接打印出request.HTTPBody的数据是不一样的。所以我想知道这两种方法在服务器端的实现方面有什么区别吗?假设我正在使用 PHP。
最佳答案
有两种格式的数据。
在使用 postString.dataUsingEncoding
的代码中,它将以 urlencoded 格式发送数据。在客户端中,您必须将请求的 Content-Type header 设置为 "application/x-www-form-urlencoded"
或类似 "application/x-www-form-urlencoded charset=utf-8 “
在使用 NSJSONSerialization.dataWithJSONObject
的代码中,它将以 json 格式发送数据。在客户端中,您必须将请求的 Content-Type header 字段设置为 "application/json"
我是 iOS 开发人员,所以我不知道格式对服务器端 PHP 的影响。要回答您的问题,您必须找到服务器端 application/x-www-form-urlencoded
和 application/json
格式之间的区别
关于ios - Swift 中使用 NSJSONSerialization.dataWithJSONObject 和 dataUsingEncoding 组成 HTTP body 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31174560/
我目前正在和提出这个问题的人一起开发一个应用程序:Post request always wrapped by optional text他负责 iOS 部分的编程,我负责 Android 部分的编程
我将 NSString 转换为 NSData 以便通过 JSON 进行解析,但出现以下错误。 Terminating app due to uncaught exception 'NSInvalidA
我正在从 NSString 创建一个 CSV 文件,如下所示: NSData *csvFile = [csvString dataUsingEncoding:NSUTF8StringEncoding]
谁能帮我说说错误是什么原因? [NSNull dataUsingEncoding:]: unrecognized selector sent to instance 我被困在 iOS 应用程序的打印机
我见过两种组成HTTP body的方法。 第一个是: let url = NSURL(string: "http://example.com") let request = NSMutableURL
我正在使用 NSMutableURLRequest。在将参数发送到服务器时,我必须对其进行编码,因此我使用 dataUsingEncoding(NSUTF8StringEncoding) Swift
当我将 NSString 转换为 NSData 并返回时,我得到零结果 NSString * test = @"Wft0r3qkzXd5TDBeCahUB3MtHuc8Axwr"; NSData *
以下代码在 iOS 8 上运行良好,但在 iOS 9.0.2 上运行时我得到一些奇怪的结果: NSString * input = @"Hi there"; NSData * data = [inpu
我有一些像这样的 Objective-C++ 代码: // header @interface MyObjcClass - (void) myMethod: (NSString *) text; @e
我是一名优秀的程序员,十分优秀!