2012-03-18 3 views
2

AFNetworking 프레임 워크를 처음 사용하고 있습니다. 내가 JSON 응답을 얻기 위해 서버에 JSON 요청을 보내려고, 그래서 나는이 같은 시도 :JSON 요청 전달 방법

Error Domain=com.alamofire.networking.error Code=-1011 "Expected status code in (200-299), got 400" UserInfo=0x7b58030 {NSErrorFailingURLKey=http://data.mycity.gov/api/views/INLINE/rows.json?method=index, NSLocalizedDescription=Expected status code in (200-299), got 400} 
:이 오류 설명과 함께,

NSURL *url = [NSURL URLWithString:@"http://data.mycity.gov/api/views/INLINE/rows.json?method=index"]; 

    NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
    [request setValue:[NSString stringWithFormat:@"application/json"] forHTTPHeaderField:@"Content-Type"]; 

    AFJSONRequestOperation *operation = [AFJSONRequestOperation JSONRequestOperationWithRequest:request success:^(NSURLRequest *request, NSHTTPURLResponse *response, id JSON) { 
     NSLog(@"Success"); 
    } failure:^(NSURLRequest* req,NSHTTPURLResponse *req2, NSError *error,id mex) { 
     NSLog(@"Failed"); 
     NSLog(@"%@",[error description]); 

    }]; 

    [operation start]; 

그래서 난 항상 실패 블록으로 내 자신을 찾기

아이디어가 있으십니까? 내가 놓친 게 있니?

+0

Malek, JSON 요청이 무슨 뜻인지 모르겠다 - 이것은 HTTP 요청이며 일부 요청 매개 변수가 누락되었을 수 있습니다. API에서 데이터를 요청하고 있습니까? –

+0

Hello Shai, 예, HTTP 요청이지만 JSON 응답을 받으려면 – Luca

답변

1

상태 코드와

[NSString stringWithFormat:@"application/json"] 

을 대체 할 수 있습니다. 클라이언트는 수정하지 않고 요청을 반복해서는 안됩니다.

그 URL로 이동하려고 할 때 : http://data.mycity.gov/api/views/INLINE/rows.json?method=index " , 나는 찾을 수없는 오류를 얻을

사용하는 API는 웹 서비스가 JSON을 반환하는 경우, 당신은 할 수 있어야 올바른지 확인 해당 URL을 브라우저에 입력하고 JSON 응답을 받으십시오.

+0

나는 그 문제의 근원을 얻었습니다. , 나는 'ASIHTTPRequest'와 함께 작업하는 데 사용했다 : 나는 [appendPostData를 요청했다 : [json dataUsingEncoding : NSUTF8StringEncoding]]; 'AFNetworking '으로 어떻게하는지 알고 있습니까? – Luca

+0

ASI에서 사용했던 웹 서비스 요청 코드를 게시 할 수 있습니까? 전과 후에 전체 요청 통화를 볼 수 있다면 나중에 알아낼 수 있어야합니다. –

0

서버가 "잘못된 요청"을 반환하는 것으로 보입니다. URL이 올바른지 확인하십시오.

고객의 stringWithFormat은 중복됩니다. 요청이 잘못된 형식 때문에 서버가 요구를 이해할 수없는 잘못된 요청 - 당신은 400 개 수단의

@"application/json"