2014-06-06 2 views
8

JSONP 요청으로 API에서 데이터를 가져 오려고하는데 매번 404가 발생합니다. 내 URL이 잘못되었다고 생각하지만 Chrome에서 수동으로 URL을 방문하여 원하는 응답을받을 수 있습니다. 내 $http.jsonp은 오류 콜백에서 내 console.log에 404 오류가 항상 표시되도록 요청합니다. JSONP 요청이 각도 앱에서 404를 제공합니다.

다음은 요청을 코드입니다 : 크롬 개발 도구의

$scope.fetchDefaultLabel = function() { 
     // This code will eventually set the label to the site name when the endpoint field blurs. 
     // Currently not working properly. 
     if ($scope.endpoint) { 
     var baseUrl = $scope.endpoint.split('/')[2]; 
     var siteNameUrl = 'http://' + baseUrl + '/api/sitename.json?callback=JSON_CALLBACK'; 
     console.log(siteNameUrl); 
     $http.jsonp(siteNameUrl) 
      .success(function(data, status, headers, config) { 
      $scope.label = data; 
      }) 
      .error(function(data, status, headers, config) { 
      console.log('Data: ' + data); 
      console.log('Status: ' + status); 
      console.log('Headers: ' + headers); 
      console.log('Config: ' + config); 
      }); 
     } 
    }; 

네트워크 패널 내가 기대하는 응답 본체와 요청에 대한 200 응답을 보여 주지만, 그 어떤 이유 각도에 점점 아니에요.

+1

이미 보셨나요? http://stackoverflow.com/questions/19916362/angularjs-how-to-make-a-jsonp-request – klode

+0

@klode 나는 그것을 보았다. API가 JSONP 요청을 지원하지 않을 수 있습니다. 그게 가능하니? – raddevon

+0

나는 똑같은 문제가있다. – Miraage

답변

5

일부 백엔드 개발자와상의 한 후 사용중인 API가 JSONP를 지원하지 않는 것으로 보입니다. 이것이 제가 그 요청에 404를 얻은 이유입니다.

+2

이것은 이런 종류의 오류를 처리하는 각도에 대한 참으로 끔찍한 방법입니다. 404주는 것은 혼란 스럽습니다. 어쨌든 "어이, 스크립트를 호출 할 수있는 유효한 함수가 없다"고 말하면 우리는 응답이 jsonp – chrismarx

+0

에 유효한지 확인하는 즐거운 방법이 될 것입니다. 그렇다면 브라우저에서 어떻게 작동합니까? – Azmeer

1

ajax 요청 바로 전에 window.console.log (siteNameUrl)의 정확한 내용을 제공하고 결과를 제공 할 수 있습니까?
어쩌면 그것은 구문 분석 문제가 그냥 경우) siteNameUrl.toString을 (시도
당신이 동일한 URL을 요청하지 않을 것 같다 ...
도 열심히 당신이 siteNameUrl =으로 사용하고있는 siteNameUrl를 작성 퍼팅보십시오 "www.someapi/api"

+0

URL을 공개 할 수 있는지 확신 할 수 없지만 변수에 값을 하드 코딩하려고했습니다. 그런 식으로 작동하지 않는 것 같습니다. 이 시점에서 API는 JSONP 요청을 지원하지 않는다고 생각합니다. 그게 가능하니? 의도적으로 JSONP 지원을 API에 추가해야합니까? – raddevon

+1

예, 다른 구현이 필요합니다. [...] 'JSONP가 작동하려면 서버가 JSONP 형식의 결과로 응답하는 방법을 알아야합니다.' http://en.wikipedia.org/wiki/JSONP – SamiX

관련 문제