@Waniman

Как передать два параметра в аргумент функции AJAX запроса?

Есть функция которая принимает 3 параметра и делает по ним AJAX запрос.
getData(url,method,data).
Как передать в параметр data, который отправляет данные в запрос два и более параметра,например name='john',surname='Villiams' ?
  • Вопрос задан
  • 27 просмотров
Пригласить эксперта
Ответы на вопрос 2
ib0123456789
@ib0123456789
Parse error: syntax error, unexpected ';'
data: {
	'name': varname,
	'surname': varsurname
},
Ответ написан
@zkrvndm
Боты, парсеры, расширения
Если третий параметр строчный, то можете сделать так:
var data_send = {
	'name':  'John',
	'surname':  'Villiams'
};

var data_string = httpBuildQuery(data_send);

var result = getData(url, method, data);

console.dir(result);

// Функция для преобразования объекта
// в строку формата x-www-form-urlencoded:

function httpBuildQuery(object_to_convert) {
	
	var params = new URLSearchParams();
	
	var paramsGenerator = function(parent_key, iterate_object) {
		
		for (var current_key in iterate_object) {
			
			if (typeof iterate_object[current_key] == 'string' || typeof iterate_object[current_key] == 'number') {
				
				if (parent_key.length > 0) {
					var property_path = parent_key + '[' + current_key + ']';
				} else {
					var property_path = current_key;
				}
				
				params.append(property_path, iterate_object[current_key]);
				
			} else if (typeof iterate_object[current_key] == 'object') {
				
				if (parent_key.length > 0) {
					var property_path = parent_key + '[' + current_key + ']';
				} else {
					var property_path = current_key;
				}
				
				paramsGenerator(property_path, iterate_object[current_key]);
				
			}
			
		}
		
	}
	
	paramsGenerator('', object_to_convert);
	
	return params.toString();
	
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы