2013-08-22 2 views
1
내가 각도 JS으로 PHP 서버 내 API를 호출하고있어

:전화 외부 API

$http({method: 'POST', url: 'my api...', 

그리고 내 전화는 항상 취소되고 오류가 생성됩니다

XMLHttpRequest cannot load http://kni.prz.edu.pl/querye/api/querye. Origin http://localhost is not allowed by Access-Control-Allow-Origin. 

방법을 Angular JS에서 교차 요청을 사용 하시겠습니까?

취소 된 것은 서버가 아닙니다. 크로스 사이트를 사용하려면

+0

봅니다 로컬 서버를 해고하고 요청이 저점을 간다 있는지. – Pavlo

+0

로컬 서버가 해결책이 아니라 여전히 동일한 오류입니다. 데이븐 무슨 뜻이야? –

+0

@DavinTryon : 오류 메시지에서 분명하지 않습니까? –

답변

1

그것은 문제가 서버 측에 사실상 가능성이 높습니다. 당신은 크로스 도메인 요청을 허용하도록 응답 헤더를 추가해야합니다

Access-Control-Allow-Origin: * 

이 추가가 어떤 도메인이 호스트에 요청을 보낼 수 있음에 유의하십시오. 서버의 제어가없는 경우

, 당신은 참조 JSONP를 시도해야합니다 : $http.jsonp

+0

예 이제 작동합니다. –

+1

'localhost'를 넣는 것이 *를 넣는 것보다 안전합니다. – 0xc0de

1

는 로컬 호스트에되지 않습니다으로 배포 된 인스턴스를 실행할 때

angularjs $http docs

대부분의 아마 당신이 오류를 얻을 수 없습니다 요청합니다.

테스트를 위해, 당신이 할 수 있습니다

myApp.config(['$httpProvider', function($httpProvider) { 
    $httpProvider.defaults.useXDomain = true; 
    delete $httpProvider.defaults.headers.common['X-Requested-With']; 
}]); 
+0

이 구성을 시도했지만 동일한 오류가 발생합니다. –