美文网首页
关于AFNetWorking Delet方法的坑

关于AFNetWorking Delet方法的坑

作者: 重案组之虎曹达华_ | 来源:发表于2017-12-12 13:13 被阅读3次

今天在学习Python后台开发当中发现  ios的afn框架的delet方法  python的django框架无法打印接受到的ios客户端传来的参数   后发现参数的传递过程中afn直接将参数拼在url的后面 导致python后台无法接受到参数,经过一番源码阅读 afn中有这么一句话:


if ([self.HTTPMethodsEncodingParametersInURI containsObject:[[request HTTPMethod] uppercaseString]]) {

if (query && query.length > 0) {

mutableRequest.URL = [NSURL URLWithString:[[mutableRequest.URL absoluteString] stringByAppendingFormat:mutableRequest.URL.query ? @"&%@" : @"?%@", query]];

}

} else {

// #2864: an empty string is a valid x-www-form-urlencoded payload

if (!query) {

query = @"";

}

if (![mutableRequest valueForHTTPHeaderField:@"Content-Type"]) {

[mutableRequest setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];

}

[mutableRequest setHTTPBody:[query dataUsingEncoding:self.stringEncoding]];

}


是因为afn的HTTPMethodsEncodingParametersInURI的集合当中包含了delet的方法,导致参数拼接的问题,最后只需要在afn的HTTPMethodsEncodingParametersInURI的集合当中去掉Delet的元素就行

如:manager.requestSerializer.HTTPMethodsEncodingParametersInURI = [NSSet setWithObjects:@"GET", @"HEAD", nil];

相关文章

网友评论

      本文标题:关于AFNetWorking Delet方法的坑

      本文链接:https://www.haomeiwen.com/subject/kfagixtx.html