6 个解决方案
#1
MKNetwork在真正开始请求的时候,会把dictionary转成json格式的字符串,它之所以在外面使用dictionary,是为了方便你把key-value封装起来。
#2
post到服务器端的应该是json格式,ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value.如c#
string value = request.From[key];
#3
上面拼写错误,更正
request.Form[key];
request.Form[key];
#4
[op setPostDataEncoding:MKNKPostDataEncodingTypeJSON];
#5
ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value
但不是json格式,如果你做过web开发,你就很清楚了,比如javaee代码:
String value = request.getParameter("key");
假如ios代码为:
NSMutableDictionary *map = [NSMutableDictionary dictionary];
[map setValue:@"1" forKey:@"id"];
[map setValue:@"zhangsan" forKey:@"name"];
到服务器就变成:id=1&name=zhangsan
同样也是键值对的关系,多个参数用&隔开
可想而知,如果你的参数中包含&这些特殊符号,比如:[map setValue:@"zhang&san" forKey:@"name"];
那么这个参数必须要用URLEncoder进行UTF-8编码,否则是传不过去的
但不是json格式,如果你做过web开发,你就很清楚了,比如javaee代码:
String value = request.getParameter("key");
假如ios代码为:
NSMutableDictionary *map = [NSMutableDictionary dictionary];
[map setValue:@"1" forKey:@"id"];
[map setValue:@"zhangsan" forKey:@"name"];
到服务器就变成:id=1&name=zhangsan
同样也是键值对的关系,多个参数用&隔开
可想而知,如果你的参数中包含&这些特殊符号,比如:[map setValue:@"zhang&san" forKey:@"name"];
那么这个参数必须要用URLEncoder进行UTF-8编码,否则是传不过去的
#6
纠正一下,之前一直在写java代码,ios才写了一个多月
所以变量名(NSMutableDictionary *map)都习惯用java那一套了,是在不好意思
其实都面向对象,逻辑都一样
所以变量名(NSMutableDictionary *map)都习惯用java那一套了,是在不好意思
其实都面向对象,逻辑都一样
#1
MKNetwork在真正开始请求的时候,会把dictionary转成json格式的字符串,它之所以在外面使用dictionary,是为了方便你把key-value封装起来。
#2
post到服务器端的应该是json格式,ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value.如c#
string value = request.From[key];
#3
上面拼写错误,更正
request.Form[key];
request.Form[key];
#4
[op setPostDataEncoding:MKNKPostDataEncodingTypeJSON];
#5
ios中使用dictionary封装的键值对中的key,就是需要在服务器端根据key拿到value
但不是json格式,如果你做过web开发,你就很清楚了,比如javaee代码:
String value = request.getParameter("key");
假如ios代码为:
NSMutableDictionary *map = [NSMutableDictionary dictionary];
[map setValue:@"1" forKey:@"id"];
[map setValue:@"zhangsan" forKey:@"name"];
到服务器就变成:id=1&name=zhangsan
同样也是键值对的关系,多个参数用&隔开
可想而知,如果你的参数中包含&这些特殊符号,比如:[map setValue:@"zhang&san" forKey:@"name"];
那么这个参数必须要用URLEncoder进行UTF-8编码,否则是传不过去的
但不是json格式,如果你做过web开发,你就很清楚了,比如javaee代码:
String value = request.getParameter("key");
假如ios代码为:
NSMutableDictionary *map = [NSMutableDictionary dictionary];
[map setValue:@"1" forKey:@"id"];
[map setValue:@"zhangsan" forKey:@"name"];
到服务器就变成:id=1&name=zhangsan
同样也是键值对的关系,多个参数用&隔开
可想而知,如果你的参数中包含&这些特殊符号,比如:[map setValue:@"zhang&san" forKey:@"name"];
那么这个参数必须要用URLEncoder进行UTF-8编码,否则是传不过去的
#6
纠正一下,之前一直在写java代码,ios才写了一个多月
所以变量名(NSMutableDictionary *map)都习惯用java那一套了,是在不好意思
其实都面向对象,逻辑都一样
所以变量名(NSMutableDictionary *map)都习惯用java那一套了,是在不好意思
其实都面向对象,逻辑都一样