ASP.NET CORE Ajax post 视图模型的附加参数
ASP.NET CORE Ajax post additional paramaters with view model
在我的项目 (ASP.NET Core 2.2.MVC) 中,我正在尝试对视图模型执行 ajax post 附加参数。页面上的表单有一个 id='frmMain'.
我的 js 是这样的:
//post
var data = {
model: $("#frmMain").serialize(),
passtest: 'test'
};
$.ajax({
type: 'post',
url: url,
data: JSON.stringify(data),
dataType: 'json',
success: function () {
//alert('form was submitted');
}
}).done(function (result) {
if (result.status === "success") {
//some code here
}
} else {
//some code here
}
});
我的控制器操作如下所示:
public IActionResult DoSomething(MyModel model, string passtest)
{
//some action code here
}
现在,post 有效,但在我的控制器操作中,只有 "model" 填充了数据。变量 "passtest" 为空。 "model"中也没有"passtest"。
我做错了什么?
注意:我找到了填充隐藏字段(并将它们添加到视图模型)的解决方法,但在 post 本身中简单地传递多个参数似乎更实用...
您可以使用查询符号将其附加到 url。
url = url + '?passtest=' + myVal
假设您的 myVal
包含特殊字符,例如 , / ? : @ & = + $ #
然后您想要对其进行编码,这样它们就不会被解析为 url 表示法的一部分:
url = url + '?passtest=' + encodeURIComponent(myVal)
在我的项目 (ASP.NET Core 2.2.MVC) 中,我正在尝试对视图模型执行 ajax post 附加参数。页面上的表单有一个 id='frmMain'.
我的 js 是这样的:
//post
var data = {
model: $("#frmMain").serialize(),
passtest: 'test'
};
$.ajax({
type: 'post',
url: url,
data: JSON.stringify(data),
dataType: 'json',
success: function () {
//alert('form was submitted');
}
}).done(function (result) {
if (result.status === "success") {
//some code here
}
} else {
//some code here
}
});
我的控制器操作如下所示:
public IActionResult DoSomething(MyModel model, string passtest)
{
//some action code here
}
现在,post 有效,但在我的控制器操作中,只有 "model" 填充了数据。变量 "passtest" 为空。 "model"中也没有"passtest"。
我做错了什么?
注意:我找到了填充隐藏字段(并将它们添加到视图模型)的解决方法,但在 post 本身中简单地传递多个参数似乎更实用...
您可以使用查询符号将其附加到 url。
url = url + '?passtest=' + myVal
假设您的 myVal
包含特殊字符,例如 , / ? : @ & = + $ #
然后您想要对其进行编码,这样它们就不会被解析为 url 表示法的一部分:
url = url + '?passtest=' + encodeURIComponent(myVal)