#jquery #ajax
#jquery #ajax
Вопрос:
У меня есть две формы с данными, и я пытаюсь объединить эти данные для отправки в мой Api. Данные одной формы отправляются, но я понятия не имею, как объединить данные из обеих форм и отправить в мой api.
$(document).ready(function () {
$("#place_order").click(function () {
var person2 = new Object();
person2.Title = $('#Title').val();
person2.FirstName = $('#FirstName').val();
person2.LastName = $('#LastName').val();
debugger;
/* #check1 is form id , for first form , please let me know how two use second form id #check2 */
var person = $('#check1').serialize();
$.ajax({
url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
type: 'Post',
data: person,
success: function(data, textStatus, xhr) {
alert(data.ErrorMessage);
if (data.Success) {
document.location.reload();
}
},
error: function (xhr, textStatus, errorThrown) {
console.log('Error in Operation');
}
});
});
});
Ответ №1:
$(document).ready(function () {
$("#place_order").click(function () {
var person2 = new Object();
person2.Title = $('#Title').val();
person2.FirstName = $('#FirstName').val();
person2.LastName = $('#LastName').val();
debugger;
/* #check1 is form id , for first form , please let me know how two use second form id #check2 */
var person = {};
var person1 = {};
$.map($('#check1').serializeArray(), function(n, i){
person[n['name']] = n['value'];
});
$.map($('#check2').serializeArray(), function(n, i){
person1[n['name']] = n['value'];
});
var mergedFormObj = $.extend({},person,person1);
$.ajax({
url: 'http://192.168.1.102:1512/qlikapi/RegisterUser',
type: 'Post',
data: mergedFormObj,
success: function(data, textStatus, xhr) {
alert(data.ErrorMessage);
if (data.Success) {
document.location.reload();
}
},
error: function (xhr, textStatus, errorThrown) {
console.log('Error in Operation');
}
});
});
});
Убедитесь, что оба свойства объекта уникальны.
Комментарии:
1. ashish, пожалуйста, дайте мне знать, как использовать эту строку
2. пожалуйста, можете ли вы интегрировать этот код с моим кодом. пожалуйста
3. @SanjayYadav пожалуйста, проверьте, есть ли у меня обновления в соответствии с вашими требованиями
4. да, братан, это хорошо и потрясающе, у меня есть один запрос, могу получить значение формы по-разному. разные страницы, на которых запущена одна форма index.php и один из них выполняется на home.php могу ли я получить оба значения на home.php ,, ваш код работает отлично,
Ответ №2:
Если вы более конкретны в отношении форм, используйте
$('#detailsform,#levelForm').serialize();
приведенная выше строка вернет строковое значение. Нравится customId=08071992amp;cort=01amp;empId=7777
вы можете избежать нежелательных полей, добавив атрибут disabled="disabled"
к полям ввода.
Если у вас нет второй формы, вы можете создать ее с помощью FormData
.
Я надеюсь, что это поможет вам.
Ответ №3:
Объединение двух объектов работает следующим образом:
var a = {someProp: "hi"};
var b = {someOtherProp: "sup?"};
var merged = $.extend({}, a, b);
//Merged will be
{ someProp: "hi",
someOtherProp: "'sup?"
}
Кстати, перезагрузка страниц при успешном обратном вызове на самом деле не является целью $.ajax
вызовов…