在 api 中发送 n 个参数(aspnet 核心)
Sending n number of parameters in api (aspnet core)
我正在尝试调用位于 aspnet core 中的 Web API
问题是,这里参数的数量不固定。参数可以是 2 或 10(没有参数将在 0 到 15 之间,一个猜测)
下面是JS代码
$(function () {
$('#btn').click(function () {
var src = [
{
"Question1": "Answer1",
"Question2": "Answer2",
"Question3": "Answer3",
"Question4": "Answer4",
"Question5": "Answer5"
}
];
$.ajax(
{
url: 'api/Default/',
method: 'POST',
dataType: 'JSON',
data: JSON.stringify(src),
contentType: "application/json",
success: function (d) {
alert("Success");
},
error: function (e) {
alert("Error please try again");
}
});
})
})
和API
[Produces("application/json")]
[Route("api/Default/")]
public class DefaultController : Controller
{
[HttpPost]
public JsonResult apc(string [][] s)
{
string str;
//Code Here
return Json(true);
}
}
我还尝试添加 class 列表作为参数而不是字符串数组
public class param
{
public string key { get; set; }
public string Value { get; set; }
}
但参数值始终为空。
我在 MVC5 中使用了相同的概念,它在那里工作得很好,但在 .Net Core 中不起作用
我们如何在这里发送多个参数??
尝试将 JSON 作为字符串发送并像下面这样发送:
[HttpPost]
public JsonResult apc(string s)
{
string str;
//Code Here
return Json(true);
}
然后从 .NET 端处理 json
由于要发布的数据的动态特性,您可以使用 Dictionary
的数组
[Produces("application/json")]
[Route("api/Default/")]
public class DefaultController : Controller {
[HttpPost]
public JsonResult apc([FromBody]Dictionary<string,string>[] data) {
var value = data[0]["Question1"]; // Should be "Answer1"
//Code Here
return Json(true);
}
}
我正在尝试调用位于 aspnet core 中的 Web API 问题是,这里参数的数量不固定。参数可以是 2 或 10(没有参数将在 0 到 15 之间,一个猜测) 下面是JS代码
$(function () {
$('#btn').click(function () {
var src = [
{
"Question1": "Answer1",
"Question2": "Answer2",
"Question3": "Answer3",
"Question4": "Answer4",
"Question5": "Answer5"
}
];
$.ajax(
{
url: 'api/Default/',
method: 'POST',
dataType: 'JSON',
data: JSON.stringify(src),
contentType: "application/json",
success: function (d) {
alert("Success");
},
error: function (e) {
alert("Error please try again");
}
});
})
})
和API
[Produces("application/json")]
[Route("api/Default/")]
public class DefaultController : Controller
{
[HttpPost]
public JsonResult apc(string [][] s)
{
string str;
//Code Here
return Json(true);
}
}
我还尝试添加 class 列表作为参数而不是字符串数组
public class param
{
public string key { get; set; }
public string Value { get; set; }
}
但参数值始终为空。 我在 MVC5 中使用了相同的概念,它在那里工作得很好,但在 .Net Core 中不起作用 我们如何在这里发送多个参数??
尝试将 JSON 作为字符串发送并像下面这样发送:
[HttpPost]
public JsonResult apc(string s)
{
string str;
//Code Here
return Json(true);
}
然后从 .NET 端处理 json
由于要发布的数据的动态特性,您可以使用 Dictionary
[Produces("application/json")]
[Route("api/Default/")]
public class DefaultController : Controller {
[HttpPost]
public JsonResult apc([FromBody]Dictionary<string,string>[] data) {
var value = data[0]["Question1"]; // Should be "Answer1"
//Code Here
return Json(true);
}
}