0

서버에서 이미지 및 비디오를 검색하려고합니다. ..URL에서 데이터 요청 중

- (void)sendBodyRequestWithTopLeftX:(NSNumber *)tx 
         topLeftY:(NSNumber *)ty 
        bottomRightX:(NSNumber *)bx 
        bottomRightY:(NSNumber *)by 
         dateFrom:(NSDate *)dateFrom 
         dateTo:(NSDate *)dateTo{ 

NSURL *url = [NSURL URLWithString:@"http://server/searchMedia?topLeftX=<float>&topLeftY=<float>&bottomRightX=<float>&bottomRightY=<float>&dateFrom=<date>&dateTo=<date>"]; 
_request = [ASIFormDataRequest requestWithURL:url]; 
[self sendRequest]; 
[_request setRequestMethod:@"POST"]; 
[_request setPostValue:tx forKey:@"topLeftX"]; 
[_request setPostValue:ty forKey:@"topLeftY"]; 
[_request setPostValue:bx forKey:@"bottomRightX"]; 
[_request setPostValue:by forKey:@"bottomRightY"]; 
[_request setPostValue:dateFrom forKey:@"dateFrom"]; 
[_request setPostValue:dateTo forKey:@"dateTo"]; 
[_request setDidFinishSelector:@selector(requestFinished:)]; 
[_request setDidFailSelector:@selector(requestFailed)]; 
[_request startAsynchronous]; 

를 다음 코드를 사용하고 있습니다하지만 난 내 requestFinished function 내부에 응답을받지 못했습니다. 많은 것을 시도했지만 여전히 그렇지 않습니다. 어느 누구도 나를 도와 줄 수 없어요. 그리고 서버 측의 값이 float인데, NSNumber을 float로 변경하면 호환되지 않는 유형의 오류가 발생합니다. 모든 단서 .. 고마워.

답변

1

요청의 위임자를 설정하는 것처럼 보이지 않습니다. 그렇지 않으면 완료/실패시 어떤 객체를 알리는 지 알 수 없습니다! startSynchronous에 전화하기 전에이 추가 :

// Replace self with the object that implements requestFailed/Finished:. 
[_request setDelegate:self]; 

을 또한, 당신은 왜 쿼리 문자열을 사용하고, POST를 사용하는 경우? 불필요합니다.

ASIHTTPRequest 라이브러리에 문제가 더있는 경우 documentation을 읽으시기 바랍니다. NSNumber 문제에 대해서는 더 많은 정보 (이상적인 코드)가 필요합니다.

+0

기본적으로 맞춤 클래스입니다. 그래서 요청이 완료되면 requestFinished를 호출합니다. _request setDidFinishSelector : @selector (requestFinished :)]; – Hadi

+0

하지만 선택기가 호출 된 적이 없습니다. 한 가지 더 묻고 싶다. 내가 전체 URL을 맞춰야합니까 아니면 내가 그냥 http : // server/searchMedia – Hadi

+0

까지 죄송합니다 내가 init_request를 초기화하는 init 메서드에서 대리자를 설정하는 것을 잊어 버렸습니다. – Hadi

관련 문제