gpt4 book ai didi

ios - AFNetworking 默默无闻

转载 作者:行者123 更新时间:2023-11-28 20:40:12 26 4
gpt4 key购买 nike

我确信我是 iOS 编程的新手,但是,我在使用 AFNetworking 时遇到了问题。具体来说,当我使用它时,什么也没有发生。我没有从服务器得到任何响应,但是,我也没有收到任何错误。所有属性都以 NULL 结尾。

这是我的要求:

NSMutableDictionary *requestArray = [NSMutableDictionary new];
[requestArray setObject: @"getBio"
forKey: @"action"];
[requestArray setObject: @"1"
forKey: @"bioID"];

NSError * error = nil;

NSData *jsonData = [NSJSONSerialization dataWithJSONObject:requestArray options:0 error:&error];

NSString *myRequestString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];

NSMutableURLRequest *request = [ [ NSMutableURLRequest alloc ] initWithURL: [ NSURL URLWithString: @"http://localhost/LP/JSON/Secure/bio.php" ] ];

[ request setHTTPMethod: @"POST" ];
[ request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"content-type"];
[ request setHTTPBody: [myRequestString dataUsingEncoding:NSUTF8StringEncoding]];

如果我只是将请求传递到 UIWebView 或者如果我使用它,这似乎可以得到我预期的结果:

NSURLResponse *response;
NSError *err;
NSData *returnData = [ NSURLConnection sendSynchronousRequest: request returningResponse:&response error:&err];
NSString *content = [NSString stringWithUTF8String:[returnData bytes]];
NSLog(@"responseData: %@", content);

也就是说POST成功,返回JSON。

但是,这些都没有做任何事情(没有错误,没有响应):

AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) {
NSLog(@"Data: %@ %@", [JSON valueForKeyPath:@"firstName"], [JSON valueForKeyPath:@"lastName"]);
} failure:nil];

即使是最基本的尝试也不起作用:

AFURLConnectionOperation *operation = [[AFURLConnectionOperation alloc] initWithRequest:request];

显然,我做错了一些可怕的事情。但是,无声的失败使得这很难弄清楚。

感谢您的帮助。

编辑:

没关系..我很笨。

没有创建 NSOperationQueue。

NSOperationQueue *queue = [[NSOperationQueue alloc] init];
[queue addOperation:operation];

尽管如此,我仍然不清楚为什么没有设置属性。但是,看起来我至少有数据。

最佳答案

创建请求操作对象不会自动启动请求。正如您在编辑中指出的那样,您可以将其排入 NSOperationQueue 或手动执行 [operation start]

我建议您使用 AFHTTPClient 与您的服务器通信,因为它提供了一种内置机制,可以根据您传入的参数正确设置您的查询字符串或 HTTP 正文。请参阅 Gowalla示例代码中的 API 示例客户端,以及方法 AFHTTPClient -postPath:parameters:success:failure

关于ios - AFNetworking 默默无闻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8866765/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com