2017-02-17 2 views
0

Я пытаюсь использовать jQuery для отправки запроса POST (и позже DELETE) AJAX для замены текущей функции $("#memberResults").load(url). Мне нужно загрузить один и тот же URL-адрес, но с глаголом POST или DELETE в зависимости от того, добавляю ли или удаляю элемент в службу REST. Я должен уточнить, что URL-адрес сначала отправляется на мой Java-сервер.jQuery AJAX вызов с использованием POST для перезагрузки селектора

Я попытался использовать метод $ .ajax, но, похоже, не может заставить его работать правильно. Этот код добавит элемент правильно, но не обновит AJAX (мне нужно обновить всю страницу, чтобы увидеть изменение).

function addMember(){ 

    var member = document.getElementById('memQueryResult').innerHTML; 
    var role = document.getElementById('roleChosen').innerHTML; 
    var url = '/roles/' + role + '/' + member; 

    $.ajax({ 
     url : url, 
     type : 'POST', 
     success : function(url) { 
      $("#memberResults").load(url); 
     } 
    }); 
} 
+0

У меня вопрос не возникает. Вы делаете вызов Ajax, чем вы. .load (dataFromServer) '... Что вы ожидаете? – Justinas

+0

@Justinas Я использую только .load(), потому что не вижу, где добавить селектор в $ .ajax. Вызов должен обратиться к моей функции java, которая добавит/удалит данный член, а затем перезагрузит список участников, отображаемых на моем сайте, с данным селектором. – Brandon

+0

@ Justinas кажется, что мой код действительно работает. Но он не обновляет выбранный идентификатор должным образом. Я обновил вопрос соответствующим образом. – Brandon

ответ

0

Вы сначала сделать свой POST/DELETE запрос и в случае успеха просто заменить элемент с содержимым из ответа сервера (который содержит новый список Reloaded пунктов)

var ajaxType = getAction(); // returns 'POST' or 'DELETE' 
var url = '/roles/' + $('#roleChosen').text() + '/' + $('#memQueryResult').text(); 

$.ajax({ 
    url: url, 
    type: ajaxType, 
    success: function (response) { 
     $('#memberResults').replaceWith(response); 
    } 
}); 

document.getElementById('memQueryResult').innerHTML может быть заменен на JQuery $('memQueryResult').html()

+0

Это работает отлично! Спасибо! – Brandon