0

ASIHTTPRequestを使用していますが、responseDataが空です。応答はJSON応答であると想定されており、ブラウザーでこれを実行しようとすると、完全に機能します。

これが私のコードです:

- (IBAction)simpleURLFetch {
    NSURL *url = [NSURL URLWithString:@"http://url/url/url"];
    ASIHTTPRequest* request = [ASIHTTPRequest requestWithURL:url];
    request.timeOutSeconds = 30;
    [request setDelegate:self]; // I correctly set the ASIHTTPRequestDelegate in my .h file
    [request startAsynchronous];
}

- (void)requestFinished:(ASIHTTPRequest *)azrequest {
    NSString *responseString = [azrequest responseString];
    NSData *responseData = [azrequest responseData];

    NSLog(@"repo : %@ / %@", responseData, responseString);
}

そして、ログには次のように表示されます: "repo:(null)/ <> /"

たぶん、私は良い方法で結果を使用していません..私のJSON応答を得る解決策はありますか?

よろしく、Sébastien;)

4

2 に答える 2

1

問題は、データに誤ってアクセスしているのではなく、データを取得していないことです。コード内のURLは明らかに無効であり、使用しているURLではないと思われます。いずれにせよ、リクエストはデータの取得に失敗するため、ログに記録するものはありません。

于 2012-08-11T14:20:13.253 に答える
0

デリゲートメソッドを実装した場合:-(void)request:(ASIHTTPRequest *)request didReceiveData:(NSData *)data

その場合、responseDataはnullになります。APIがデータ処理をアプリケーションに引き渡すためです。

于 2014-08-19T07:15:26.180 に答える