2012-07-07 7 views
1

GET을 통해 json 객체를 출력하는 간단한 리소스를 만들었습니다. URL은 http://127.0.0.1:8000/api/v1/advert/?format=json이며 정상적으로 작동합니다. 이제 jQuery 아약스 메소드를 사용하여 리소스에 액세스하려고 할 때 얻을 수있다. jQuery Ajax가 리소스 (Django Tastypie)에 액세스 할 때 실패합니다.

enter image description here

enter image description here

내 자바 스크립트입니다;

$.ajax({ 
     url : 'http://127.0.0.1:8000/api/v1/advert/', 
     dataType : 'json', 
     type : 'GET', 
     data : { format: 'json' }, 
     success : function(data) { 
      console.log(data); 
     } 
    }); 

어떻게해야할까요? 더 중요한 것은 어떻게 수정합니까? 장황한 피스톤을 간단한 리소스로 구현하려고하면 같은 오류가 발생하므로 실제 AJAX 요청과 관련하여 문제가 더 많을 것으로 생각됩니다.

EDIT.

jQuery ajax 호출을 약간 조정하고 요청 내용을 포함 시켰습니다.

+0

데이터 옵션을 사용하여 GET 매개 변수 (예 : 형식)를 포함해서는 안됩니까? –

+0

안녕하세요, 데이터 코드를 사용하도록 JS 코드를 업데이트했습니다. 불행히도 여전히 실패합니다. – Kevin

답변

0

내가 아는 내 자신의 tastypie API에 대한 아약스 코드를 시도했다.

jQuery ajax 명령이 처음에 보내는 OPTIONS 요청에 대해 "빨간색"결과 행을 얻습니다. 그 요청에 대한 응답을 보면 실제로는 OK 200입니다.

ajax 호출이 OPTIONS 요청을하고 200 응답 상태를 얻은 다음 전송이 취소되었으므로 전송이 취소 된 것처럼 보입니다. "허용"응답 헤더.

실제로 어떤 이유로 든 실패한 것 같습니다 (아니면 브라우저가 다르게 설명합니다).

응답 헤더를 추가 할 수 있습니까?

(내 스크린 샷을 공유하는 것입니다,하지만 난 여전히 내 담당자까지 일하고 있어요 : - /) 헤드 순간을 긁고 컬을 사용하여 오류를 모방하려고 노력의 숫자 후

+0

안녕하세요. 원본 스크린을 추가 스크린 샷으로 업데이트하고 AJAX 호출을 약간 수정했습니다. 여전히 (비록 약간 다르지만 요청 메소드가 OPTIONS 대신 GET 임에도 불구하고) 실패합니다. 응답 헤더 정보도 없으므로 아약스 호출이 실제로 거기에 있다고 생각하지 않습니다. – Kevin

4

을, 나는 마지막의 소스를 발견 문제. Adblock Plus (Adblock Plus (Beta) 1.2)와 함께 Chrome 브라우저를 사용하고 있습니다. 이 확장 프로그램을 사용 중지하면 ajax 요청이 정상적으로 작동합니다. 나는 ABP가 어떻게 그것에 영향을 미치고 있었는지 확실하지 않지만 그것은 문제의 근본 원인이었습니다.

관련 문제