Post 使用表单数据选择 2 个多个值到控制器
Post select2 multiple values using form-data to controller
如何 post select2 使用表单数据的多个值?
因为表单数据 returns 如下所示:
pid=0&members=staff1&members=staff2&members=staff7
成员值是一个非常动态的值,因为它是多个 select,如何处理?
我试图分解 select2 结果,然后 JSON.stringify 先将其传递给控制器,它到达控制器但值为空。
<div class="form-group">
<label class="col-form-label" for="input-members">Selected Members</label>
<select class="form-control select2" id="members" name="members[]" multiple="multiple">
</select>
</div>
const _u = [];
for (var i = 0; i <= users.length - 1; i++) {
console.log(users[i]);
var j = {
id: users[i]
};
_u.push(j);
}
var _f = JSON.stringify({
pid: 0,
members: _u
});
$.ajax({
type: 'POST',
url: '/User/Update/',
traditional: true,
data: _f,
contentType: "application/json; charset=utf-8",
dataType: 'json',
headers: headers,
[HttpPost]
[Route("/User/Update")]
[AllowAnonymous]
public JsonResult Update_Data(string _f)
// it arrived here, but _f value was null
我错过了什么?
因为您使用的是 json 内容类型,所以您必须添加 FromBody,如果您使用的是 newtonsoft json,我建议使用 JObject
而不是字符串
public JsonResult Update_Data([FromBody]JObject _f)
如果您仍想使用带有字符串的操作,则必须使用此 ajax(删除内容类型)
$.ajax({
type: 'POST',
url: '/User/Update/',
traditional: true,
data:{ "_f" : _f },
dataType: 'json',
如何 post select2 使用表单数据的多个值?
因为表单数据 returns 如下所示:
pid=0&members=staff1&members=staff2&members=staff7
成员值是一个非常动态的值,因为它是多个 select,如何处理? 我试图分解 select2 结果,然后 JSON.stringify 先将其传递给控制器,它到达控制器但值为空。
<div class="form-group">
<label class="col-form-label" for="input-members">Selected Members</label>
<select class="form-control select2" id="members" name="members[]" multiple="multiple">
</select>
</div>
const _u = [];
for (var i = 0; i <= users.length - 1; i++) {
console.log(users[i]);
var j = {
id: users[i]
};
_u.push(j);
}
var _f = JSON.stringify({
pid: 0,
members: _u
});
$.ajax({
type: 'POST',
url: '/User/Update/',
traditional: true,
data: _f,
contentType: "application/json; charset=utf-8",
dataType: 'json',
headers: headers,
[HttpPost]
[Route("/User/Update")]
[AllowAnonymous]
public JsonResult Update_Data(string _f)
// it arrived here, but _f value was null
我错过了什么?
因为您使用的是 json 内容类型,所以您必须添加 FromBody,如果您使用的是 newtonsoft json,我建议使用 JObject
而不是字符串public JsonResult Update_Data([FromBody]JObject _f)
如果您仍想使用带有字符串的操作,则必须使用此 ajax(删除内容类型)
$.ajax({
type: 'POST',
url: '/User/Update/',
traditional: true,
data:{ "_f" : _f },
dataType: 'json',