Нет заголовка «Access-Control-Allow-Origin» при получении данных JSON с сервера

Я пытаюсь заставить клиентскую часть получать данные JSON с сервера, однако постоянно выявляется метод ошибки. Когда я пытаюсь использовать Chrome для отладки, он появляется:XMLHttpRequest cannot load http://localhost:8080/TransportationNetwork/rest/paths?st=3,6. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access.

Я пытался изменить dataType на «jsonp», но это не работает. Однако, когда я использую POSTMAN для проверки данных с сервера, все работает нормально, я вижу, что данные JSON поступают с сервера.

Вот картинка показывает результат тестирования от POSTMAN: На рисунках показан результат тестирования POSTMAN с сервера

Ниже приведен мой код как на стороне сервера, так и на стороне клиента: Может кто-нибудь сказать мне, как добавить заголовок «Access-Control-Allow-Origin» для моего кода Java? (Если это эта проблема)

Код Java:

@Path("/paths")
public class PathsResource {
    PathDao pathDao;

public PathsResource() {
    pathDao = new PathDao();
}

@GET
@Produces(MediaType.APPLICATION_JSON)
//@Consumes("text/plain")
public List<DirectedEdge> pathsInfo(@QueryParam("st") String st) {
    System.out.println("Searching paths : " + st);
    return pathDao.getEdgeList(st);
}  
}

Javascript:

var serviceURL = "http://localhost:8080/TransportationNetwork/rest/paths";


$('#findPaths').click(function() {
        getPaths();
});

function getPaths() {
    console.log('display paths');
    $.ajax({
        type:'GET',
        url: serviceURL,
        dataType:'json', // data type get back from server
        data:'st=' + dataToServer(), //data sent to server 
        success: renderList,
        error: function(jqXHR, textStatus, errorThrown){
            alert('Path Finder: ' + textStatus);
        }
    });
}

function dataToServer() {
    var array = "";
        str1 = $('#source').val();
        str2 = $('#target').val();

    array = str1 + "," + str2;

    return array;
}

function renderList(data) {
    //var parsedData = JSON.parse(data); 
    var list = data == null ? [] : (data instanceof Array ? data : [data]);
    $('#PathList li').remove();
    $.each(list, function(index, path) {
        $('#PathList').append('<li>'+ path.source + ' -> ' + path.target + ': ' + path.weight + '</li>');
    });
}

Ответы на вопрос(0)

Ваш ответ на вопрос