javascript - 从数组中删除字符串多个键名

标签 javascript jquery ajax

我有一个表单,我的所有表单字段名称都以准备好的“家庭”开头。例如:

Family.Name
Family.LastName

我需要转换的内容:

Name 
LastName

现在我想在使用 serializeArray() jquery 函数发送到服务器之前删除 "Family." 如果存在。 这是我当前的代码:

var formData = $('#FamilySpouseCreate').serializeArray();

                $.ajax({
                    type: 'Post',
                    url: '/Profile/SpouseCreate',
                    data: formData,
                    success: function() {
                        window.location.reload();
                    },
                    error: function(xhr) {
                        errorHandler(xhr);
                    }
                });

如何修改 formData 以删除“Family”。从数组索引名称前面添加?

最佳答案

我认为这就是您所需要的:

var formData = $('#FamilySpouseCreate').serializeArray();
var dataObj = {};

$.each(formData, function(i, field){
  fieldName = field.name.replace('Family.', '');
  dataObj[fieldName] = field.value;
});

$.ajax({
    type: 'Post',
    url: '/Profile/SpouseCreate',
    data: dataObj,
    success: function() {
        window.location.reload();
    },
    error: function(xhr) {
        errorHandler(xhr);
    }
});

fiddler demo

如果您只想重命名字段名称。你可以这样做:

var formData = $('#FamilySpouseCreate').serializeArray();
$.each(formData, function(i, field){
  field.name = field.name.replace('Family.', '');
});

$.ajax({
    type: 'Post',
    url: '/Profile/SpouseCreate',
    data: formData,
    success: function() {
        window.location.reload();
    },
    error: function(xhr) {
        errorHandler(xhr);
    }
});

关于javascript - 从数组中删除字符串多个键名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54968419/

相关文章:

javascript - 如何将三 Angular 形数组取出来以便我可以使用它

javascript - ajax/codeigniter 输出每 4 列创建一个新行

javascript - jQuery 或 Javascript 连续计数器(countup)

javascript - 如何将一些模板应用于 AngularJS 中复选框和单选框的所有输入类型?

javascript - 需要确定在 JQuery 移动弹出窗口中单击的按钮并基于此执行操作

php - Ajax 成功函数不会对响应使用react

javascript - 按钮上的 onclick 事件在 ajax 调用收到的 block 上不起作用

jquery - 使用 codeigniter 在 javascript 中引用 CSS 背景图像

javascript - noty Jquery 插件超时没有发生

jquery - Node Js - 使用 ajax 从 Bootstrap 表单更新用户密码