
Asp.net Core IIS部署的问题

[HttpPost]
public IActionResult Post(string a,string b)
{}
此种方式只能在URL后面加?a=1&b=2的时候才能收到参数,否则无论使用form-data x-www-form-urlencoded,Json,全部为null
[HttpPost]
public IActionResult Post(dynamic d)
public IActionResult Post(object d)
public IActionResult Post(model d)
上面情况:
1、使用data: { “a”: “1”, “b”: “2” }, contentType
application/x-www-form-urlencode 报错:415 Unsupported Media Type
2、使用 data: { “a”: “1”, “b”: “2” } ,contentType:”application/json”,报错
400 Bad Request
3、 使用 data: JSON.stringify({ “a”: “1”, “b”: “2” }),contentType:”
application/x-www-form-urlencode “,报错
报错:415 Unsupported Media Type
4、 使用 data: JSON.stringify({ “a”: “1”, “b”: “2” }),
contentType:”application/json” ,可以收到参数
综上:
1、Post只能接受一个对象,如果非要写public IActionResult Post(string a),那么传值data: { “”: “Jim” },a的值就是jim
2、多个参数组合成dynamic,object,后台反序列化,前台使用
JSON.stringify
3、多个参数组合成实体,后台直接调用。
4、Get请求直接可以用string a,string b接收的到。
5、Post必须使用contentType:”application/json”方式传递
6、POST方式只能传递一个实体,如model,object,dynamic
7、前台JSON.stringify,后台接受数据使用[FromBody]