Я пытаюсь преобразовать вызов REST с помощью плагина Cordova в JQuery AJAX POST. У меня нет кода JQuery правильно, вызов получает отказ от отказа в соединении (попадание в localhost). Я успешно делаю запросы GET для своего локального хоста, поэтому проблема с подключением отсутствует.Создание jquery AJAX POST для resful API
Код API REST:
@Path("/track")
public class TrackResource {
...
метод в классе TrackResource я пытаюсь ударить:
@POST
@Path("{trackid}")
@Consumes("application/json")
@Produces("application/json")
public Response addToResource(@PathParam("trackid") String trackid, String bodyJson) {
на основе AJAX код:
var trackingJSON = JSON.stringify(tracking_data);
var urlAjax = "http://localhost:7001/ds/resources/track/" + trackid;
$.ajax({
type: "POST",
url: urlAjax,
data: trackingJSON,
beforeSend: function() { $.mobile.showPageLoadingMsg("b", "Loading...", true) },
complete: function() { $.mobile.hidePageLoadingMsg() },
success: function(data) { alert("ajax worked"); },
error: function(data) {alert("ajax error"); },
dataType: 'json'
});
Я не конечно, если я правильно использую параметр данных в правиле ajax, но я понимаю, что именно там вы бы поместили данные, которые хотите передать r сторона.
У меня есть другие вызовы GET для этого же класса TrackResource, поэтому я знаю, что базовая часть URL-адреса верна. Я знаю, что значение трекинга заполнено правильно.
Вы можете сформулировать тот же POST, который вы пытаетесь сделать с помощью AJAX, и отправить его прямо в конечную точку, чтобы узнать, что произойдет? Я действительно не вижу никаких проблем с jQuery. –
Да, используя firefox REST клиент, я могу сделать это сообщение на моем localhost. – user1209575
Мне нужно было использовать параметр contentType и установить его в application/json. Однако это не помогло мне решить проблемы с подключением. Я все еще получаю java.net.ConnectionException. – user1209575