2013-05-16 2 views
0

appannie.com의 api에서 일부 데이터를 얻으려고하고 있는데 기본 인증을 얻지 못하는 것 같습니다. 내가 얻는 것은 401 (UNAUTHORIZED) 오류입니다. 다음은 내가 가지고있는 것입니다.jquery를 사용하여 Appannie.com의 API에 액세스 하시겠습니까?

var username = "[email protected]"; 
var password = "password"; 
var url = "https://api.appannie.com/v1/accounts"; 

function make_base_auth(user, password) { 
    var tok = user + ':' + password; 
    var hash = btoa(tok); 
    return "Basic " + hash; 
} 
$.ajax({ 
    url: url, 
    dataType: "jsonp", 
    beforeSend: function (xhr){ 
     xhr.setRequestHeader('Authorization', make_base_auth(username, password)); 
     xhr.setRequestHeader('Accept', "application/json"); 
    }, 
    success: function(data) { 
     alert("success"); 
    }, 
    fail: function(data) { 
     alert("fail"); 
    } 
}); 
+0

API가 JSONP도 지원하는지 확인 하시겠습니까? – Blender

답변

1

jQuery/javascript에는 상호 도메인 호출이 허용되지 않습니다.

1 : XML

http://wiki.asp.net/page.aspx/1430/aspnet-proxy-page--used-for-cross-domain-requests-from-ajax-and-javascript/

에게 요청할 필요가있는 페이지와 같은 도메인에 당신을 위해 요청을 프록시 스크립트를 사용하여 크로스 도메인의 jQuery를 아약스는 만 2 신뢰할 수있는 옵션이 호출

2 : 도메인 간 서버에서 CORS를 지원하도록 설정합니다.

http://www.ibm.com/developerworks/library/wa-aj-jsonp1/

내가 1 번 귀하의 경우에 적용 생각 :

http://www.html5rocks.com/en/tutorials/cors/

또한 보안 문제로 인해 사용하지 않는 것이 좋습니다 다른 옵션 (JSON-P)가있다.

+0

설명 된 것처럼 일부 경우 브라우저에서 허용됩니다. – Blender

+0

jsonp를 사용하려고했습니다. 필자가 작성한 코드는 개인적인 용도로만 온라인에 게시되지 않기 때문에 보안에 관심이 없다. jsonp를 사용할 수 있습니까? –

+0

서비스가 JSONP를 지원하지 않는 경우에는 사용할 수 없습니다. 지원팀에 문의하십시오. (서비스가 JSONP를 지원합니까?) –

관련 문제