2017-01-16 3 views
0

Я пытаюсь получить данные json с сервера, который не поддерживает CORS. Я прочитал JSONP подходит для такого рода stituation, но я до сих пор не могу заставить его работать: Мой код:получить данные от API CORS

var headers = { 
    'Authorization': 'Bearer ' + 'token', 
    'Accept': 'application/json' 
}; 
function myCallbackFunction(data){ 
      $('body').text(data.response); 
     } 
$.ajax({ 
    type: "GET", 
    headers : headers, 
    url: "https://site/api/etc", 
    dataType: "jsonp", 
    success: function(data){console.log(data);}, 
    jsonp: false, 
    jsonpCallback : "myCallbackFunction", 
    error: function (xhr, ajaxOptions, thrownError) { 
     alert(xhr.status); 
     alert(thrownError); 
    } 
}); 

я получаю эту

error: Uncaught SyntaxError: Unexpected token :

я знаю, что это потому, что сервер возвращает а данные в формате JSON, но я не знаю, как это исправить, потому что если изменить тип данных JSON я получаю ошибку, связанную CORS:

XMLHttpRequest cannot load https://site/api/1.0/etc . Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin ' http://site ' is therefore not allowed access.

, что означает, что CORS не поддерживается на стороне сервера но я использую почтальон, он работает, я не понимаю. Я пробовал много чего, но мог получить данные. Пожалуйста, помогите. Спасибо. PS: я нахожусь под сервером TOMCAT

ответ

0

Я просто положить, что работал для меня здесь: Так что я сделал это создать контроллер покоя с помощью «okhttp» вместо вызова AJAX таким образом не будет быть контекстом, создающим проблему, а затем возвращать данные и манипулировать им с помощью js.

Смежные вопросы