2016-07-15 1 views
0

나는 flipkart API 데이터를 얻으려고합니다. 당신은 내가 모두를 시도했지만 xhrfield와 헤더를 보낼 수 없습니다 ahve 의견을 볼 수 있듯이xhrfield와 함께 헤더를 보낼 수 없습니다

$.ajax({ 
    type: 'GET', 
    url:'https://affiliate-api.flipkart.net/affiliate/search/json?query=iPhone+mobiles&resultCount=3', 
    crossDomain: true, 
// dataType: 'JSONP', 
    /*xhrFields: { 
      withCredentials: true 
     },*/ 
    // contentType: 'application/json; charset=utf-8', 

     beforeSend : function(xhr) { 
     xhr.withCredentials = true;   
     xhr.setRequestHeader('Fk-Affiliate-Id', 'myid'); 
     xhr.setRequestHeader('Fk-Affiliate-Token', 'mytoken'); 
     }, 
    /* headers: { 
     'Access-Control-Allow-Origin':'*', 
     'Fk-Affiliate-Id': 'myid', 
     'Fk-Affiliate-Token': 'mytoken', 
     'Content-Type': 'application/x-www-form-urlencoded' 
     },*/ 

    success: function(data){ ...... 
} 
}); 

: 내가 xhrfield 와 heder을 보낼 수 없습니다 모르지만, 이런 식으로 여기 내 코드입니다. 내가 xhrfield 헤더를 보내 주겠다.

+0

어떤 오류가 발생합니까? 둘 다 헤더를 보내는 올바른 방법입니다. 또한 myid와 mytoken이 변수가 아닌 객체가되어야하며 따옴표에 포함되지 않아야합니다. –

+0

401 ,, 잘못된 헤더, Fk-Affiliate-Id 및 Fk-Affiliate-Token은 요청 헤더에서 전송되지 않습니다. –

+0

JSONP 요청에서 헤더를 설정할 수 없습니다. – epascarello

답변

0

JSONP 요청이있는 헤더는 페이지에 스크립트 태그가 설정되어 있기 때문에 보낼 수 없습니다.

JSONP 요청은 스크립트 태그를 페이지에 추가하는 것으로 구성됩니다. 스크립트가 실행될 때 스크립트가 수신하는 URL에 콜백 매개 변수를 추가합니다. 헤더를 외부 스크립트에 추가하는 방법은 없습니다.

사이트에서 헤더를 보내려면 COR에 대한 JSON 요청을 지원해야합니다.

+0

'// contentType : "application/jsonp",'해야 할 일 –

+0

불가능합니다 .... script 태그는 헤더를 설정할 수 없습니다. 그것은 XMLHttpRequest를 만들고 있지 않습니다. – epascarello

+0

그런 다음 CORS로 헤더를 보낼 수 있습니까 –

관련 문제