Просмотр полной версии : Перезагрузить страницу после $.each
Еще вопрос...
Я выполняю отправку данных в массиве dataArray $.post запросом в цикле $.each...
вот код
var sid='asdsda134234';
$.each(dataArray, function(index, file) {
$.post(data:dataArray);
});
Где мне поставить location.href='myfile.php?sid='+sid;?
Может какое условие нужно будет прописать, потому что если ставлю после $.each, то запрос $.post выполняется один раз?
danik.js
05.03.2013, 10:28
За $.post в цикле руки нужно отрывать.
$.post(data:dataArray) - тут синтаксическая ошибка.
После перехода на другую страницу текущая выгружается, вместе со всеми скриптами, причем выполнение скриптов останавливается.
За $.post в цикле руки нужно отрывать.
$.post(data:dataArray) - тут синтаксическая ошибка.
После перехода на другую страницу текущая выгружается, вместе со всеми скриптами, причем выполнение скриптов останавливается.
Кто-то поставил все-таки + ))))
Я знаю, но это не мой скрипт ))), я его нашел в сети... Теперь пытаюсь дописать свой. А мне позарез надо прикрутить переход на другую страницу с $_GET['sid']
danik.js
05.03.2013, 10:41
Нередко найденное в сети - унылое Г.
Так или иначе от цикла нужно избавиться.
А мне позарез надо прикрутить переход на другую страницу с $_GET['sid']
А $_POST['sid'] чем не устраивает? Противоречит вашим религиозным убеждениям?
Кто-то поставил все-таки + ))))
Таки да..
Нередко найденное в сети - унылое Г.
Так или иначе от цикла нужно избавиться.
А $_POST['sid'] чем не устраивает? Противоречит вашим религиозным убеждениям?
Таки да..
Тут не суть важна $_POST или $_GET... Нужно поставить location.href так, чтобы все запросы выполнились, а потом произошло перенаправление. А у меня только один раз проходит цикл и сразу перенаправляет. :)
Тут не суть важна $_POST или $_GET... Нужно поставить location.href так, чтобы все запросы выполнились, а потом произошло перенаправление. А у меня только один раз проходит цикл и сразу перенаправляет. :)
Разобрался ))))) надо было перед перенаправлением return false; поставить. :dance:
danik.js
05.03.2013, 11:15
Код покажи? Все что после return - не выполняется, мертвый код.
Код покажи? Все что после return - не выполняется, мертвый код.
$('#upload-button .upload').click(function() {
// Показываем прогресс бар
$("#loading").show();
// переменные для работы прогресс бара
var totalPercent = 100 / dataArray.length;
var x = 0;
$('#loading-content').html('Загружается '+dataArray[0].name);
// Для каждого файла
$.each(dataArray, function(index, file) {
// загружаем страницу и передаем значения, используя HTTP POST запрос
$.post('./actions/upload.php', {data: dataArray[index], file: dataArray[index].name, sid: sid}, function(data) {
var fileName = dataArray[index].name;
++x;
// Изменение бара загрузки
$('#loading-bar .loading-color').css({'width' : totalPercent*(x)+'%'});
// Если загрузка закончилась
if(totalPercent*(x) == 100) {
// Загрузка завершена
$('#loading-content').html('Загрузка завершена!');
// Вызываем функцию удаления всех изображений после задержки 1 секунда
setTimeout(restartFiles, 1000);
// если еще продолжается загрузка
} else if(totalPercent*(x) < 100) {
// Какой файл загружается
$('#loading-content').html('Загружается '+fileName);
}
// Формируем в виде списка все загруженные изображения
// data формируется в upload.php
var dataSplit = data.split(':');
if(dataSplit[1] == 'загружен успешно') {
$('#uploaded-files').append('<li><a href="/user_uploads/photos/'+dataSplit[0]+'">'+fileName+'</a> загружен успешно</li>');
} else {
$('#uploaded-files').append('<li><a href="/user_uploads/photos/'+data+'. Имя файла: '+dataArray[index].name+'</li>');
}
});
});
// Показываем список загруженных файлов
return false;
location.href='add_classified?sid='+sid;
});
danik.js
05.03.2013, 13:48
Так я и думал ))
location.href='add_classified?sid='+sid;
Этот код не выполнится никогда. Можешь смело его удалять продолжать танцевать :haha:
Так я и думал ))
Этот код не выполнится никогда. Можешь смело его удалять продолжать танцевать :haha:
:blink: Опа, оказывается нифига не выполняется ((...
Куда ставить перенаправление? ))
danik.js
05.03.2013, 16:46
Сделай скрытую форму с method = POST, заполни скрытые поля и отправь ее.
Сделай скрытую форму с method = POST, заполни скрытые поля и отправь ее.
Перед return false? а там потом если вдруг нажмут F5 не будет выходить сообщение о потере данных?
danik.js
05.03.2013, 17:30
На сервере делать редирект. Тогда F5 ни к чему не приведет.
Или можешь дождаться выполнения xhr-запроса и по получению ответа с сервера сделать переход на нужную страницу.
На сервере делать редирект. Тогда F5 ни к чему не приведет.
Или можешь дождаться выполнения xhr-запроса и по получению ответа с сервера сделать переход на нужную страницу.
Второе мне кажется будет приемлемо, не подскажешь где можно инфу почитать, а то я в javascripte почти 0 )))
danik.js
05.03.2013, 17:40
От цикла избавился? Давай код
От цикла избавился? Давай код
нет, не избавился )))... Если бы мог, то избавился бы, а так боюсь менять что-либо в коде...
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot