Отправить js-переменные в контроллер MVC - PullRequest
0 голосов
/ 04 января 2019

Как отправить переменные js в контроллер mvc

Я пытаюсь определить код, указанный в ответе на поставленный выше вопрос - ramiramilu.

Однако кажется, что я все еще получаю 0 как вывод в моем контроллере.

Модель и вид выглядят так же, как предполагает ответ. Однако, поскольку я использую ядро ​​dot net с MVC, мой код на стороне контроллера выглядит как -

Код контроллера -

[Route("api/[controller]")]
[ApiController]
public class PieController : Controller
{
    [HttpGet]
    public IActionResult Index()
    {
        return View();
    }

    public ViewResult GetChartDetails(PieConcs piecord)
    {
        return null;
    }
}

Javascript код -

function sendJson () {

    var model = new Object();
    model.x1 = 120;
    model.y1 = 240;
    model.x2 = 360;
        model.y2 = 480;
        alert('here');


    jQuery.ajax({
        type: "POST",
        url: "@Url.Action("GetChartDetails")",
        dataType: "json",
        contentType: "application/json; charset=utf-8",
        data: JSON.stringify({ piecord: model }),
        success: function (data) {
            alert(data);
        },
        failure: function (errMsg) {
            alert(errMsg);
        }
    });
}

Модельный класс -

public class PieConcs
{
    public int x1 { get; set; }
    public int x2 { get; set; }
    public int y1 { get; set; }
    public int y2 { get; set; }
}

Код для просмотра записан в файле Index.cshtml. Я новичок в MVC, поэтому, пожалуйста, дайте мне знать, если требуется что-то более подробное, чтобы улучшить вопрос.

1 Ответ

0 голосов
/ 04 января 2019

В вашем javascript сделайте что-то вроде:

let dataToSend = {
        objectProp1: ...,
        objectProp2: ...,
        ...
    }

    fetch('Pie/GetCharDetails', {
        method: 'POST',
        headers: {
            "Content-Type": "application/json"
        },
        body: JSON.stringify(dataToSend)
    }).then(response => response.json());

Имейте в виду, что объектные реквизиты должны иметь то же имя, что и ваши реквизиты PieConcs.

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