2014-09-10 2 views
1

Chrome의 우편 배달 확장 프로그램을 사용하면 일부 JSON을 성공적으로 게시 할 수 있습니다. 요청을 검사하는 찰스를 사용하여, 나는 다음과 같이 요청 데이터가 볼 : 나는 AFNetworking 2.4.1을 사용하여이 같은 요청을 구성 할 때, 나는 데이터 포맷 것을 볼 수 있습니다AFNetworking 2를 사용하여 중첩 된 NSDictionary 게시하기

{ 
    "query": { 
    "term": { 
     "user_id": "12345" 
    } 
    } 
} 

등 :

query[term][user_id]=12345 

물론 서버가 오류를 반환합니다.

POST 요청의 어떤 부분이 잘못 되었습니까?

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 

NSDictionary *parameters = @{@"query":@{@"term":@{@"user_id":@"12345"}}}; 

[manager POST:@"http://someURL" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
     NSLog(@"SUCCESS %@", responseObject); 

    } failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
     NSLog(@"FAIL: %@", error); 
    }]; 
+0

대답이 있으십니까? 제안 해주세요. – MuraliMohan

답변

1

짧은 대답은 다음과 같습니다 매개 변수 직렬화를 사용하여 기본 헤더의 세트로 구성되어 requestWithMethod:URLString:parameters: & multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock: 로 만든

요청 : 문서에서

manager.requestSerializer = [AFJSONRequestSerializer serializer]; 

이 속성에 의해 지정됩니다. 기본적으로이 에 GET, HEADDELETE 요청, 또는 달리 HTTP 메시지 본문을 URL 형식-인코딩에 대한 쿼리 문자열 매개 변수를 직렬화 AFHTTPRequestSerializer의 인스턴스를 설정한다.

관련 문제