我有一個 ViewModel 看起來像
namespace HealthBox_WebCore_V1.ViewModel
{
public class ProductViewModel
{
public MST_ProductViewModel MST { get; set; }
public List<int> FoodsID { get; set; }
}
}
我有一個像這樣的ajax函式
function post() {
/* var url = $("#CreateProductForm").attr("action");*/
var data = $("#CreateProductForm").serialize();
var FoodsIDVal = [];
$("select[name='FoodsID']").each(function () {
var values = $(this).val();
FoodsIDVal.push(values);
});
var ViewModel = {
"MST":data,
"FoodsID":FoodsIDVal
};
console.log(ViewModel);
$.ajax({
type: "POST",
url: "CreateProduct",
data: JSON.stringify(ViewModel),
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (response) {
},
error: function () {
}
});
}
如果我使用這種方式,我會在 Controller 中得到這個結果

FoodsID 為空。
但如果我用這個,
function post() {
/* var url = $("#CreateProductForm").attr("action");*/
var data = $("#CreateProductForm").serialize();
var FoodsIDVal = [];
$("select[name='FoodsID']").each(function () {
var values = $(this).val();
FoodsIDVal.push(values);
});
var ViewModel = {
MST:data,
FoodsID:FoodsIDVal
};
console.log(VM);
$.ajax({
type: "POST",
url: "CreateProduct",
data: ViewModel,
dataType: "json",
success: function (response) {
},
error: function () {
}
});
}
這是控制器中的結果

我只想將這兩個物件發布到 Controller 『MST 和 FoodsID』 我也嘗試添加 attr [FromBody] 或其他我可以在 Google 中搜索的方式,但找不到解決這個問題的方法。請幫忙,非常感謝
uj5u.com熱心網友回復:
您只需要添加[FromBody]到動作并使用第一個ajax,這里有一個演示:
行動
[HttpPost]
public IActionResult CreateProduct([FromBody]ProductViewModel productViewModel)
{
return RedirectToAction("Index");
}
阿賈克斯:
function post() {
/* var url = $("#CreateProductForm").attr("action");*/
var data = $("#CreateProductForm").serialize();
var FoodsIDVal = [];
$("select[name='FoodsID']").each(function () {
var values = $(this).val();
FoodsIDVal.push(values);
});
var ViewModel = {
"MST":data,
"FoodsID":FoodsIDVal
};
console.log(ViewModel);
$.ajax({
type: "POST",
url: "CreateProduct",
data: JSON.stringify(ViewModel),
dataType: "json",
contentType: 'application/json; charset=utf-8',
success: function (response) {
},
error: function () {
}
});
}
如果仍然無法獲取 FoodsID,請嘗試查看FoodsIDValajax 中的資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/491938.html
上一篇:.netCore發送xlsx檔案作為Ajax請求的回應
下一篇:org.springframework.dao.IncorrectResultSizeDataAccessExceptionMongoLimit不起作用?
