Параметры данных JQuery AJAX
У меня 10 запросов AJAX с одинаковыми параметрами.
$.ajax({
global: false,
type: 'POST',
url: value,
dataType: 'html',
data: {
firstname: $("#firstname").val(),
lastname: $("#lastname").val(),
surname: $("#surname").val(),
age: $("#age").val(),
...
sex: $("#sex").val()
},
success: function(result) {
console.log(result);
},
error: function (request, status, error) {
serviceError();
}
});
Как я могу унифицировать эти параметры, чтобы не записывать их 10 раз, потому что у меня есть 76 параметров?
2 ответа
Прежде всего, создайте отдельный класс для каждого из ваших param
в вашем HTML что-то вроде:
<input type="text" id="param1" class="params"/>
<input type="text" id="param2" class="params"/>
<input type="text" id="param3" class="params"/>
Тогда в вашем JS:
var callAjax = function(){
data = {};
for(var i = 0; i < $('.params').length; i++){
data[$('.params')[i].id] = $('.params')[i].val();
}
$.ajax({
global: false,
type: 'POST',
url: value,
dataType: 'html',
data: data,
success: function(result) {
console.log(result);
},
error: function (request, status, error) {
serviceError();
}
});
}
Добавьте свое значение в переменную массива, затем перейдите к данным