Конечная точка POST получает нулевые значения - PullRequest
0 голосов
/ 04 февраля 2020

Я делаю запрос POST. Параметры метода null. Я подтвердил звонок, и мне кажется, что все в порядке. Любые предложения приветствуются.

var WebServiceURL = 'https://localhost:44341/api/controllername/ForwardInfo'
$.ajax({
  type: webServiceRequestMethod,
  url: WebServiceURL,
  data: JSON.stringify(objSendData),
  contentType: "application/json; charset=utf-8",
  dataType: "json",
  success: function(data) {}
  failure: function() {}
})
[ApiController]
[Route("api/Ask4Purple/FowardInfo")]
public IActionResult FowardInfo(string zipcode, int searchRadius, string ProductCodes)
//public IActionResult FowardInfo([FromBody] ListOfStores value)
{
  string Zipcode = zipcode;
  int SearchRadius = searchRadius;
  string ProductCode = ProductCodes;
  // ...
}

1 Ответ

1 голос
/ 05 февраля 2020

Вам нужно установить метод POST для получения viewModel, который содержит все эти свойства:

public class MyViewModel
{
    public string zipcode { get; set; }
    public int searchRadius { get; set; }
    public string ProductCodes { get; set; }
}

Кроме того, возможно, у вас есть опечатка в вашем OP, которую вы используете FowardInfo для атрибута маршрута, в то время как js URL использует 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) { }

})

2. Контроллер

[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.Результат:

enter image description here

...