У меня есть (с пружинным питанием) Java-приложение, которое имеет несколько вызовов AJAX. Проблема в том, что я использую контекст приложения (/spring-mvc
), чтобы иметь возможность доступа к серверной функциональности.AJAX вызов без контекста Java-приложения
var api = '/api/v1';
var context = '/spring-mvc' + api;
$.ajax({
type: 'GET',
url: context + '/users/' + $('#user-id').val()
}).done(function (response) {
callback({ data: response.user, binding: response.binding });
}).fail(function (jqXHR, textStatus, errorThrown) {
callback({ jqXHR: jqXHR });
});
Теперь моя проблема, когда я должен разместить его где-нибудь еще, и я не могу контролировать контекст приложения, вызовы AJAX, в конечном счете неисправного поскольку контекст само приложение жестко закодирован в JavaScript.
Есть ли способ достичь этого без изменения переменной context
во всех файлах JavaScript? Что-то вроде:
$.ajax({
type: 'GET',
url: '/api/v1/users/' + $('#user-id').val()
}).done(function (response) {
callback({ data: response.user, binding: response.binding });
}).fail(function (jqXHR, textStatus, errorThrown) {
callback({ jqXHR: jqXHR });
});
Я видел, что несколько раз во многих приложениях, но я не могу понять его, как они делают это.
Примечание: Веб-приложение развернуто в том же файле WAR; Я хотел бы избежать, чтобы попытаться понять это, выполнив манипуляции с URL в JavaScript.
'/ api/v1 /' обычно эквивалентен контекстному пути весной, а ваш вопрос = – messerbill
Да, но если я не добавлю контекст приложения к «url» в вызовах AJAX, он также не работает , Я хочу, чтобы получить динамический контекст приложения (или какой-то) –