gpt4 book ai didi

javascript - 使用 jQuery 在 ajax 调用中仅发送数组中对象的少数属性

转载 作者:行者123 更新时间:2023-12-02 20:36:07 25 4
gpt4 key购买 nike

// Initialize the object, before adding data to it.
var NewPerson = new Object();

NewPerson.FirstName = $("#FirstName").val();
NewPerson.LastName = $("#LastName").val();
NewPerson.Address = $("#Address").val();
NewPerson.City = $("#City").val();
NewPerson.State = $("#State").val();
NewPerson.Zip = $("#Zip").val();

实际上,我正在填充并发送 NewPerson 对象的数组。我正在使用 javascript 中的所有属性,但是当我像下面这样进行 ajax 调用时,我只想发送其中两个属性,例如 FirstNameLastName

$.ajax({
type: "POST",
contentType: "application/json; charset=utf-8",
url: "PersonService.asmx/AddPerson",
data: "{'NewPerson':" + JSON.stringify(NewPerson) + "}",
dataType: "json"
});

注意:我使用的是数组,而不是 NewPerson 的单个对象。上面的代码只是举例。

最佳答案

您可以轻松编写一个函数来实现这一点:

function extractMembers(arr, members)
{
var m, o, i, j;
var output = [];
for (i = 0; i < arr.length; ++i) {
o = {};
for (j = 0; j < members.length; ++j) {
m = members[j];
o[m] = arr[i][m];
}
output.push(o);
}
return output;
}

现在您可以像这样使用该函数:

var objects = [{FirstName: "...", LastName: "...", Address: "..."},
{FirstName: "...", LastName: "...", Address: "..."}]

var toSend = extractMembers(objects, ["FirstName", "LastName"]);

还有一件事:您可能想使用简写法在 JavaScript 中创建对象:

var NewPerson = {
FirstName: $("#FirstName").val(),
LastName: $("#LastName").val(),
...
};

关于javascript - 使用 jQuery 在 ajax 调用中仅发送数组中对象的少数属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3234608/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com