AJAX-объект от вида к контроллеру, не содержащий данных - PullRequest
0 голосов
/ 10 февраля 2019

> I .net core 2.2 Это объект Object:

[Serializable]
public class oob
{
   public int i { get; set; }
   public string j { get; set; }
}

это действие в контроллере «Home» с именем Gett, которое принимает oob в качестве ввода от ajax

 [HttpGet]
public IActionResult Gett(oob ww)
{
    return Ok(ww);
}

Ajax

    {
        $.ajax({
            type: "Get",
            url: "Home/gett",
            data: { ww: JSON.stringify({i:55,j:"weqe"})},
            dataType: "json",
            contentType:"json",
            success: function (f) {
                console.log(f);
            },
            error: function (f) {
                console.log(f);
            }
        });
    });

Когда запрос сделан, в Gett (oob ww) я получаю объект со значением i = 0 и j = null

1 Ответ

0 голосов
/ 10 февраля 2019

В идеале вы не должны передавать объект в запрос GET, для публикации объекта вы должны использовать POST.

Если вы все еще хотите, вам нужно изменить свой метод GET, например, используя FromQuery.

[HttpGet]
public IActionResult Gett([FromQuery] oob ww)
{
    return Ok(ww);
}

И измените свой AJAX вызов следующим образом.

$.ajax({
            type: "Get",
            url: "Home/gett",
            data: {i:55,j:"weqe"},
            dataType: "json",
            contentType:"json",
            success: function (f) {
                console.log(f);
            },
            error: function (f) {
                console.log(f);
            }
        });

Примечание: Для прохождения объекта вам не нужен JSON.stringifyесли вы используете FromQuery для вашего API

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