문제

asihttprequest 패키지를 사용하여 iPhone에서 서버로 일부 데이터를 보내고 서버에 저장하면 WebView에로드하려는 URL이 포함 된 응답 (문자열)을받습니다. 이론적으로 이것은 간단해야하지만 실제로는이 작업을 전혀 얻을 수 없습니다. 내가 생각하는 문자열의 인코딩에 문제가있는 것 같습니다. 응답을 꺼내면 완전히 괜찮은 것처럼 보이지만 웹 뷰에서로드를 거부합니다.

이것은 내 요청입니다 (압축 및 인코딩으로 놀았습니다) :

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 = @와 같은 nsstring 변수를 보내려고했습니다.http://www.google.se";로드 사이트 기능과 잘 작동하므로 문제는로드 자체가 아닙니다.

OBJ-C 정글에서 모든 포인터를 크게 촉발하거나 도와 줄 것입니다 :)

/에프

도움이 되었습니까?

해결책

다음을 시도하십시오.

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

모든 공백과 신축성을 다듬습니다.

다른 팁

따라서 응답은 a n (new linebreak)으로 자동으로 종료됩니다. 변수를 기록 할 때는 텍스트 필드에 쓸 때가 아니라 UrloBject로 변환하고 찾은 로깅 할 때 표시되지 않았습니다. 다시 한 번 디버깅을 지불합니다;)

와우, 내 응답자는 물론입니다.

- (void)requestDone:(ASIHTTPRequest *)request{
    NSString *response = [request responseString];
    NSLog(@"web content: %@", response);
    [webView loadSite:response];
}
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top