ASIHTTPRequest获取请求 - 代表未被调用

时间:2012-06-01 06:47:06

标签: ios cocoa-touch ios4 xcode4.2 asihttprequest

我的要求是

        NSURL *requestUrl = [NSURL URLWithString:url];

    if(request_) {
        [request_ setDelegate:nil];
        [request_ release];
    }
    request_ = [[ASIFormDataRequest requestWithURL:requestUrl] retain];
    [request_ setDelegate:self];
    [request_ setRequestMethod:@"GET"];
    [request_ setTimeOutSeconds:HTTP_TIME_OUT];
    [request_ startAsynchronous];

呼叫正在进行,因为顶部条上的网络访问指示器正在旋转并在几秒钟后消失。但是任何一种委托方法

- (void)requestFinished:(ASIHTTPRequest *)request

- (void)requestFailed:(ASIHTTPRequest *)request

未被调用。可能出了什么问题?

提前致谢。

PS:有时,由于某些问题,服务器返回“500内部服务器错误”。但即使在那种情况下,也不应该是代表

- (void)requestFailed:(ASIHTTPRequest *)request

被称为?

2 个答案:

答案 0 :(得分:4)

您可以使用这些块来检查它。

这是相同的例子:

 NSURL *url = [NSURL URLWithString:@"http://allseeing-i.com"];
   __block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
   [request setCompletionBlock:^{
      // Use when fetching text data
      NSString *responseString = [request responseString];

      // Use when fetching binary data
      NSData *responseData = [request responseData];
   }];
   [request setFailedBlock:^{
      NSError *error = [request error];
   }];
   [request startAsynchronous];

我希望这可能有所帮助。

答案 1 :(得分:1)

确保您的课程符合ASIHTTPRequestDelegate协议。

@interface YourClass : ... <ASIHTTPRequestDelegate>