2013-07-18 3 views
0

나는이 공용 API로드하기 위해 노력하고있어 액세스 제어는-원산지에게-허용 : $ 아약스를 (사용

https://api.paris.fr:3000/data/1.1/QueFaire/get_geo_activities/?token=3fc939c673e62e7a161ef036699c0a22bc1eed9f076da6236eaca89ab6ef4521&created=0&lat=48.8742&lon=2.3470&radius=1000&offset=0&limit=30를) 나는 다음과 같은 오류 얻을 :

Origin http://localhost:8000 is not allowed by Access-Control-Allow-Origin. 

JSONP를 사용하지 않고이 작업을 수행하려면 어떻게해야합니까? api.paris.fr는? callback =을 허용하지 않습니다.

api.paris.fr는 내 것이 아니기 때문에 header("Access-Control-Allow-Origin: *");없이 어떻게해야합니까?

+0

그런데이 링크에 액세스 할 수 없습니다. – mvw

+0

링크가 나를 위해 작동합니다. –

+0

지금 VPN을 통해보고 있습니다. 내 의견을 무시하십시오. – mvw

답변

1

이 헤더 때문에 Access-Control-Allow-Origin:https://api.paris.fr 브라우저에서 허용하지 않습니다. 이 문제를 해결하려면 프록시를 사용할 수 있습니다. 원본 소스에서 JSON을 가져 와서 출력하는 PHP 스크립트 (또는 이와 비슷한 스크립트)를 만듭니다.

apiproxy.php

<?php 
echo file_get_contents("https://api.paris.fr:3000/data/1.1/QueFaire/get_geo_activities/?token=3fc939c673e62e7a161ef036699c0a22bc1eed9f076da6236eaca89ab6ef4521&created=0&lat=48.8742&lon=2.3470&radius=1000&offset=0&limit=30"); 

jQuery를

$.get("http://yourserver.com/apiproxy.php", function(data) { 
    // use data 
}) 
+0

감사합니다. @ hein-andre-gronnestad가 작동했습니다. 나는 header ('Content-type : text/json')를 추가했다. echo() –

+0

@RaduChiriac 전에 프록시에 대한 헤더 ('Access-Control-Allow-Origin : *');도 트릭을 수행해야합니다. 당신은'Content-Type : application/json'을 사용해야합니다. –

-1

당신은 $ 아약스를 시도 할 수 있습니다 ({교차 도메인 : TRUE}). 도움이되는지 확신하지 못합니다.