我確定我很喜歡iOS編程的新手,但是我遇到了AFNetworking的問題。具體來說,當我使用它時,沒有任何反應。我沒有從服務器得到任何迴應,但是,我也沒有得到任何錯誤。所有的屬性都以NULL結尾。AFNetworking默默無聞
這裏是我的要求:
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];
雖然,我還不清楚爲什麼這些屬性沒有設置。但是,看起來我至少有數據。
感謝您的回覆。 – user1146403 2012-01-18 02:13:14