#javascript #jquery #ajax #image #image-processing
Вопрос:
Я использую сортируемый jquery для сортировки изображений. Когда изображения отсортированы, я отправляю обратно первое изображение, чтобы загрузить его в img
тег (например, предварительный просмотр). Это прекрасно работает. Однако это работает только один раз, в первый раз. Когда я снова сортирую изображения, предварительный просмотр не обновляется.
$("#sortable").sortable({
axis: 'x,y',
containment: "parent",
tolerance:'pointer',
update: function(event, ui) {
var item_order = new Array();
$('.reorder-gallery li').each(function() {
item_order.push($(this).attr("id"));
});
$.ajax({
type: "POST",
dataType: "json",
url: "processes/sort.php",
data: 'order=' item_order,
cache: false,
success: function(json){
$("#dp").attr("src", json.dp); // WORKS ONLY ONCE
}
});
}
}).disableSelection();
<div class="dp gradient-bg">
<img src="<?php echo dp(); ?>" alt="" id="dp">
</div>
Я попытался добавить случайную строку в конце, как это:
$("#dp").attr("src", json.dp '?rand=' Math.random()); // NOT WORKING EITHER
Тем не менее, предварительный просмотр загружается только один раз. Мне нужно обновить страницу, чтобы она снова заработала. Каждый раз работает только в первый раз. Что нужно сделать?
Комментарии:
1. Ваш ajax называется выполненным ? Вы проверяли
json.dp
, имеет ли фактическое значение какое-либо значение ?2. Да, это так. Мой PHP отправляет обратно значение. Каждый раз появляется новое изображение при выполнении сортировки. Я тоже проверил это в ответе сети. Кроме того, именно по этой причине я упомянул, что он изменяет предварительный просмотр, по крайней мере, в первый (и единственный раз). Однако я не понимаю, почему бы не сделать это во второй раз.
3. Кроме того, я считаю, что одна из проблем, которая может возникнуть здесь, заключается в том, что мне нужно отправить обратно код сортировки вместе с ответом AJAX, чтобы динамически связать его с элементом, чтобы он работал. Однако на данный момент я стараюсь избегать этого подхода, чтобы посмотреть, можно ли сделать что-то лучшее.
4. можете ли вы также показать html-код ?
5. Хорошо, тестирование завершено.. Просто хочу сообщить вам, что динамическая привязка сортируемой функции и повторная отправка ее при каждом вызове AJAX позволяет ей работать. Кроме того, глупая ошибка, которую я совершил здесь, заключалась в том, что я уже называл это динамически по некоторым более ранним причинам, которые я забыл. Все, что мне нужно было сделать, это тоже поместить код
$("#dp").attr("src", json.dp);
в эту повторно вызванную функцию.