dom*_*yra 9 ajax asp.net-ajax asp.net-core
我正在将我的 MVC 项目迁移到 Core,并且我一直很难修复所有旧的 ajax 调用。
我可以将模型和字符串参数传递给控制器,但是,整数对我不起作用。
我可以将它们作为字符串参数包装到 JSON 对象中,例如[FromBody]string objId在控制器中,但随后我必须从 Json 解析 int val {'objId' : 1}。
有没有办法可以避免这种情况而只传递一个整数?
下面是我正在尝试的代码。
[HttpPost]
public JsonResult PassIntFromView([FromBody]int objId)
{
//DO stuff with int here
}
Run Code Online (Sandbox Code Playgroud)
这是js。
var data = { "objId": 1};
$.ajax({
url: '@Url.Action("PassIntFromView", "ControllerName")',
data: JSON.stringify(data),
type: "POST",
dataType: 'JSON',
contentType: "application/json",
success: function(data) {
//do stuff with json result
},
error: function(passParams) {
console.log("Error is " + passParams);
}
});
Run Code Online (Sandbox Code Playgroud)
的objId是在控制器中始终为0。
我试过这个,但没有做JSON.stringify(data)也没有结果。
我还尝试了所有不同的表单属性变体。
Xue*_*hen 17
尝试使用 contentType 作为'application/x-www-form-urlencoded':
var data = { objId: 1 };
$.ajax({
url: '@Url.Action("PassIntFromView", "ControllerName")',
type: "post",
contentType: 'application/x-www-form-urlencoded',
data: data,
success: function (result) {
console.log(result);
}
});
Run Code Online (Sandbox Code Playgroud)
然后移除[FromBody]控制器中的属性
[HttpPost]
public JsonResult PassIntFromView(int objId)
{
//Do stuff with int here
}
Run Code Online (Sandbox Code Playgroud)
我相信您的问题可能是您将一个对象传递给 api,但试图将其转换为原语。我知道已经有一个选定的答案,但请尝试一下。
var data = { };
data["objId"] = 1; //I just wanted to show you how you can add values to a json object
$.ajax({
url: '@Url.Action("PassIntFromView", "ControllerName")',
data: JSON.stringify(data),
type: "POST",
dataType: 'JSON',
contentType: "application/json",
success: function(data) {
//do stuff with json result
},
error: function(passParams) {
console.log("Error is " + passParams);
}
});
Run Code Online (Sandbox Code Playgroud)
您创建一个模型类
public class MyModel {
public int ObjId {get;set;}
}
Run Code Online (Sandbox Code Playgroud)
您的控制器应该期望其中之一
[HttpPost]
public JsonResult PassIntFromView([FromBody] MyModel data)
{
//DO stuff with int here
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17185 次 |
| 最近记录: |