Доступ к пройденным параметрам MVC Xhttp.Send () - PullRequest
0 голосов
/ 26 мая 2020

Я работаю над проектом WEBAPI на основе MVC в c#. У меня есть объект json dataToSend (JSON FORMAT), который нужно передать API.

API, похоже, работает нормально, поскольку возвращает то, что от него ожидается. Однако я хочу получить доступ к данным, отправленным на него из xhttp.send(dataToSend).

Вот код внешнего интерфейса:


        var xhttp = new XMLHttpRequest();
        xhttp.onreadystatechange = function () {
            if (this.readyState == 4 && this.status == 200) {
                document.getElementById("demo").innerHTML = this.responseText;
            }
        };

        var selectedOptions = ["1","2","3"];
        var searchQuery = "Text Of Choice" ;

        var dataToSend = {
            searchQuery: searchQuery,
            attributes: selectedOptions
        }

        console.log(dataToSend);
        var postUrl = "/home/post";
        for (i = 0; i < selectedOptions.length; i++) {
            console.log(selectedOptions[i]);
        }


        xhttp.open("POST", "/home/post/", true);
        xhttp.send(dataToSend);

Я не могу понять, как получить доступ к dataToSend в моем POST вызов API.

 [HttpPost]
        public string Post()
        {
            var dataToRecieve = ..... ??
            return "posted";
        }

1 Ответ

0 голосов
/ 26 мая 2020

Я бы рекомендовал сначала создать модель для объекта, который вы будете получать, например:

 public class SearchModel
 {
     public string   SearchQuery;
     public string[] selectedOptions;
 }

, а затем получить объект как параметр FromBody:

    [HttpPost]
    public IHttpActionResult Post([FromBody] SearchModel model)
    {
        var dataToRecieve = model
        return Ok(dataToReceive);
    }

[FromBody] означает, что u будет получать параметры из тела запроса

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...