【发布时间】:2019-04-19 23:23:57
【问题描述】:
我正在使用var form = $("#AAAForm").serializeArray() 序列化来自 AAAForm 的所有值。然后,我使用以下代码将所有值从购物车推送到表单:
var CartPush = [{name: "OrderDetails", value: Cart}]
form.push(CartPush);
然后我使用下面的 Ajax 函数向服务器发送一个 post 请求。
$.ajax({
type: "POST",
url: "/Update/Inventory",
data: form,
success: function (data) {
alert(data); // show response
}
});
我希望它发送以下内容:(这是console.log(form) 的输出)
0: {name: "FirstName", value: "a"}
1: {name: "LastName", value: "a"}
2: {name: "PostalCode", value: "a"}
3: {name: "HouseNumber", value: "a"}
4: {name: "Street", value: "a"}
5: {name: "City", value: "a"}
6: {name: "State", value: "a"}
7: {name: "Country", value: "a"}
8: {name: "Email", value: "a"}
9: Array(1)
0:
name: "OrderDetails"
value: Array(3)
0: {ProductId: "760", Name: "Test ", ImageUrl: "258", Price: "0.10", Grade: "Rare", …}
1: {ProductId: "873", Name: "Test2 ", ImageUrl: "371", Price: "0.20", Grade: "Holo", …}
2: {ProductId: "744", Name: "Test3 ", ImageUrl: "242", Price: "0.35", Grade: "Rare", …}
但是,下面的内容实际上是发送到服务器的:
FirstName: a
LastName: a
PostalCode: a
HouseNumber: a
Street: a
City: a
State: a
Country: a
Email: a
undefined:
为什么我添加的数组未定义?还有,我该如何解决?我使用示例数据创建了以下 JSFiddle。 https://jsfiddle.net/s03uLvpy/
我认为这不是问题所在,而是完整的图片。我将数据发布到dotnet core中的以下函数,我收到表单数据就好了,但是,我收到的OrderDetails数据只是空的,我认为是因为发布的数据是未定义的。
[HttpPost]
public async Task<IActionResult> AccountAndAddress(OrderViewModel values, List<ProductsShopCartViewModel> OrderDetails)
{
return Ok();
}
【问题讨论】:
-
data: JSON.stringify(form),
标签: javascript ajax .net-core asp.net-core-mvc