最近在做项目的时候,因为公司的项目使用的是老的框架ASI,然后请求一些数据的时候总是提示说参数不全或者错误之类的误报,因为我的参数是没有问题的,但就是会报错,所以就用AFN也做了同样类似的请求.
结果是AFN很轻松就完成了请求,而且返回的数据也是正确的,也是我想要的.
在ASI中,我采用的是ASIHTTPRequest做请求的,但是在ASI的框架中,不仅只有ASIHTTPRequest能做请求,ASIFormDataRequest也能做请求.所以我换了ASIFormDataRequest做和ASIHTTPRequest同样地请求,发现就可以正确请求到数据了.
NSString *postURL = [NSString stringWithFormat:@"http://xxxxxx.php?mod=%@&data=%@", mod, data];
NSLog(@"发送注册请求URL:%@", postURL);
ASIHTTPRequest *request = [[ASIHTTPRequest alloc] initWithURL:[NSURL URLWithString:postURL]];
[request startSynchronous];
如果是 Get ,或者参数可以简单的组成 Get 方式提交的时候, 比如 thread.php?id=123 , 就用 ASIHTTPRequest 就可以了
NSString *postURL = [NSString stringWithFormat:@"http://xxxxxx.php"];
ASIFormDataRequest *request = [[ASIFormDataRequest alloc] initWithURL:[NSURL URLWithString:postURL]];
[request addPostValue:myModel forKey:@"mod"];
[request addPostValue:myAllData forKey:@"data"];
[request startSynchronous];
如果必须是 POST ,或者参数很多,你要构造一个带参数的 URL 很麻烦的时候,就用 ASIHttpFormDataRequest