質問

ASIHTTPRequestパッケージを使用して、iPhoneからサーバーにデータを送信し、サーバーに保存すると、webviewに読み込むURLを含む応答(文字列)を受信します。理論的には、これは単純なはずですが、実際にはこの仕事をまったく得ることができません。私が推測する文字列のエンコードに関するいくつかの問題のようです。応答をNSLogアウトすると、まったく問題ないように見えますが、Webビューでの読み込みを拒否します。

これは私の要求です(圧縮とエンコードで遊んでいます):

NSURL *url = [NSURL URLWithString:@"xxx"];
ASIFormDataRequest *request = [[[ASIFormDataRequest alloc] initWithURL:url] autorelease];
[request setFile:imageData forKey:@"photo"];
[request setDelegate:self];
[request setDidFinishSelector:@selector(requestDone:)];
[request setDidFailSelector:@selector(requestWentWrong:)];
[request setAllowCompressedResponse:NO];
[request setDefaultResponseEncoding:NSUTF8StringEncoding];//NSISOLatin1StringEncoding   
[request start];

そしてこれが私のレスポンダーです:

- (void)requestDone:(ASIHTTPRequest *)request{
    NSString *response = [request.responseString];
    NSLog(@"web content: %@", response);
    [webView loadSite:response];
}

NSLogは正常に見えますが、サイトはロードされません。 NSString * temp = @" http://www.google.se "のようなNSString変数を送信しようとしました。 ; loadSite関数に追加すると正常に機能するため、問題はロード自体にはありません。

obj-cジャングルでのポインタやヘルプを大幅に評価します:)

/ f

役に立ちましたか?

解決

次のことを試してください:

NSString *response = [[request responseString] stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];

すべての空白と改行を削除します。

他のヒント

そのため、応答は自動的に\ n(新しい改行)で終了します。これは、変数をログに記録するとき、テキストフィールドに書き込むときでも、urlobjectに変換して、見つかったと記録するときにも表示されませんでした。デバッグは再び成果を上げます;)

すみません、私のレスポンダーはもちろんです:

- (void)requestDone:(ASIHTTPRequest *)request{
    NSString *response = [request responseString];
    NSLog(@"web content: %@", response);
    [webView loadSite:response];
}
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top