2017-12-15 2 views
1

나는 오류Bigcommerce의 API 상태 코드 (401)

Failed to load https://store-cmr1f5oakh.mybigcommerce.com/api/v2/products: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://tim-yma5.mybigcommerce.com' is therefore not allowed access. The response had HTTP status code 401. 

내가

$.ajax({ 
     url: "https://url/api/v2/products", 
     beforeSend: function(xhr){ 
      xhr.setRequestHeader("Authorization", "Basic " + btoa("username" + ":" + "token")); 
     }, 
     type: 'GET', 
     dataType: 'json', 
     success: function(data){ 
      console.log("api_success"); 
     } 
    }); 

가 어떻게 No 'Access-Control-Allow-Origin'을 피할 수있는 API를 호출하는 아약스를 사용있어?

답변

0

jsonp

$.ajax({ 
     url: "https://url/api/v2/products", 
     beforeSend: function(xhr){ 
      xhr.setRequestHeader("Authorization", "Basic " + btoa("username" + ":" + "token")); 
     }, 
     type: 'GET', 
     dataType: 'jsonp', 
     success: function(data){ 
      console.log("api_success"); 
     } 
    }); 
당신이 당신의 HTML에서 사용할 수도 있습니다

에 데이터 형식을 수정하려고 :

<head>...<meta http-equiv="Access-Control-Allow-Origin" content="*">...</head> 

하지만 당신은 더 나은이 헤더를 보내도록 웹 서버 나 웹 애플리케이션을 구성 할 것

+1

안녕하세요, Azzabi. 도와 주셔서 감사합니다. 그러나 작동하지 않았습니다. 그냥 사용자 이름과 passowrd를 묻는 팝업을 반환했습니다. 메타를 삽입 한 경우에도 –