Jquery POST端点正在接收空值
我正在请求发帖。方法参数为空。我已经核实了电话,我觉得没问题。如有任何建议,我们将不胜感激 var-WebServiceURL=https://localhost:44341/api/controllername/ForwardInfo' $.ajax{ 类型:webServiceRequestMethod, url:WebServiceURL, 数据:JSON.stringifyobjSendData, contentType:application/json;字符集=utf-8, 数据类型:json, 成功:functiondata{} 失败:函数{} } 您需要设置POST方法以接收包含所有这些属性的viewModel:Jquery POST端点正在接收空值,jquery,asp.net-core-webapi,Jquery,Asp.net Core Webapi,我正在请求发帖。方法参数为空。我已经核实了电话,我觉得没问题。如有任何建议,我们将不胜感激 var-WebServiceURL=https://localhost:44341/api/controllername/ForwardInfo' $.ajax{ 类型:webServiceRequestMethod, url:WebServiceURL, 数据:JSON.stringifyobjSendData, contentType:application/json;字符集=utf-8, 数据类型:
public class MyViewModel
{
public string zipcode { get; set; }
public int searchRadius { get; set; }
public string ProductCodes { get; set; }
}
此外,可能您的OP中有一个输入错误,即您在路由属性上使用FowardInfo,而JSURL使用ForwardInfo
下面是一个工作演示:
1.Ajax
var WebServiceURL = 'https://localhost:44341/api/Ask4Purple/ForwardInfo';
var objSendData = {
zipcode: "123",
searchRadius: 5,
ProductCodes: "001"
};
$.ajax({
type: "POST",
url: WebServiceURL,
data: JSON.stringify(objSendData),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) { }
})
二,。控制器
[Route("api/[controller]")]
[ApiController]
public class Ask4PurpleController : ControllerBase
{
[HttpPost("ForwardInfo")]
public IActionResult ForwardInfo([FromBody] MyViewModel value)
{
string Zipcode = value.zipcode;
int SearchRadius = value.searchRadius;
string ProductCode = value.ProductCodes;
// ...
return new JsonResult(value);
}
}
3.结果:
objSendData的具体内容是什么?还要注意,您的Route属性将URL设置为api/Ask4Purple/FowardInfo,而不是您在JSYes中实际使用的URL是的,这是路由问题和其他一些我没有评论的旧代码。谢谢你的观点
[Route("api/[controller]")]
[ApiController]
public class Ask4PurpleController : ControllerBase
{
[HttpPost("ForwardInfo")]
public IActionResult ForwardInfo([FromBody] MyViewModel value)
{
string Zipcode = value.zipcode;
int SearchRadius = value.searchRadius;
string ProductCode = value.ProductCodes;
// ...
return new JsonResult(value);
}
}