Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.05.2017, 00:28
Новичок на форуме
Отправить личное сообщение для Davides Посмотреть профиль Найти все сообщения от Davides
 
Регистрация: 12.05.2017
Сообщений: 1

Отправить массив с файлами и данными на сервер
С помощью данного участка кода я отправляю массив с файлами на сервер для обработки:
$.each(dataArray, function(index, file) {
				var inputPsize = $("#photosize").attr("value");

			// загружаем страницу и передаем значения, используя HTTP POST запрос 
			$.ajax({
                url : "/modules/order/upload.php",
                type : "POST",
                data : dataArray[index],
				success: 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="/modules/order/images/'+dataSplit[0]+'">'+fileName+'</a> загружен успешно</li>');
								
				} else {
					$('#uploaded-files').append('<li><a href="/modules/order/images/'+data+'. Имя файла: '+dataArray[index].name+'</li>');
				}
					
				}
            });


Как вместе с этим массивом мне отправить и содержимое переменной:
var inputPsize = $("#photosize").attr("value");

У меня получается отправить только что-то одно: либо массив, либо содержимое переменной. Как сделать это одновременно?
P.S. Все должно отправиться в одном запросе.
Ответить с цитированием
  #2 (permalink)  
Старый 12.05.2017, 03:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,989

Прям так и отправляются файлы?
Ответить с цитированием
  #3 (permalink)  
Старый 12.05.2017, 08:33
Аватар для ksa
ksa ksa вне форума
CacheVar
Отправить личное сообщение для ksa Посмотреть профиль Найти все сообщения от ksa
 
Регистрация: 19.08.2010
Сообщений: 14,252

Сообщение от Davides
У меня получается отправить только что-то одно: либо массив, либо содержимое переменной. Как сделать это одновременно?
Например заменить
Сообщение от Davides
data : dataArray[index],
На

data : {arr: dataArray[index], val: inputPsize},
Ответить с цитированием
  #4 (permalink)  
Старый 12.05.2017, 09:29
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,807

var _data=$.extend(dataArray[index],{input_value:inputPsize});

Я таки надеюсь, что на сервер отправляется именно объект, а не массив.

Последний раз редактировалось Nexus, 12.05.2017 в 09:32.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как собрать все данные из таблицы, и отправить массив на сервер optsar AJAX и COMET 14 11.12.2015 07:58
Отправить массив клиенту в ответ на ajax ascherbakov AJAX и COMET 14 03.12.2014 01:12
Отправить массив на сервер maternik Общие вопросы Javascript 3 22.03.2014 14:03
Отправить массив через get на сервер sonntagausgang Общие вопросы Javascript 2 25.05.2013 23:39
Через ajax отправить много данных из таблицы на сервер Heger jQuery 3 29.08.2012 18:51