3

我不断收到:无法在请求中创建请求(错误的 url?)错误消息,例如:


- (void)grabURLInBackground :(id)sender 
{
    NSURL *url= [NSURL URLWithString:@"http://api.website.com/api_requests/standard_request/getItemRequest={\"Id\":\"Logic\"}"];
    ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url];
    [request addRequestHeader:@"X-WEBSITE-API-DEV-NAME" value:@"cghjm"];
        [request setDelegate:self];
    [request startAsynchronous];
}


- (void)requestFinished:(ASIHTTPRequest *)request
{
   // Use when fetching text data
   NSString *responseString = [request responseString];
   NSLog(responseString);
}

- (void)requestFailed:(ASIHTTPRequest *)request
{
   NSError *error = [request error];
    NSLog(@"%@:%s Error: %@", [self class], _cmd, [error localizedDescription]);
}

我是 Objective-C 的“非常”新手......

谢谢

-布拉德

4

1 回答 1

4

更改-startAsynchronous-startSynchronous删除您将请求设置为的delegateself。异步意味着它在后台运行,在这种情况下您需要使用委托方法。由于您已将所有内容放在一个方法中,因此您希望使用同步请求。

编辑

像这样初始化 URL:

[NSURL URLwithString: [@"http://..." stringByAddingPercentEscapesUsingEncoding: NSASCIIStringEncoding]]
于 2010-09-18T20:48:01.313 回答