Проблема в том, что load()
используется для создания другого AJAX-запроса и помещения части HTML-кода, полученного из этого запроса, в целевой элемент.
Поскольку вы уже делаете AJAX-запрос кчтобы получить данные (предположительно HTML), вам просто нужно append()
данные в контейнер.
Также обратите внимание, что единственная разница между двумя сторонами вашего условия - это URL, на который отправляется запрос, поэтомуВы можете легко высушить этот код:
$(document).ready(function() {
var flag = true;
$(".hold").click(function() {
var url = '<?php echo base_url(); ?>' + (flag ? 'pausehold' : 'resumehold');
flag = !flag;
$.ajax({
type: "POST",
data: { job_id: this.id },
url: url,
success: function(data) {
$("#success_hold").append(data);
}
});
});
});
Если data
содержит всю страницу, то вы должны изменить этот PHP-файл, чтобы он возвращал только соответствующий HTML, поскольку это поможет ускорить запрос.Если по какой-либо причине вы не можете этого сделать, вы можете извлечь требуемый элемент из ответа следующим образом:
$("#success_hold").append($(data).find('#success_hold'));