Используя JavaScript, как мне отправить JSON со страницы Razor на контроллер в MVC. NET Core - PullRequest
0 голосов
/ 02 февраля 2020

У меня есть страница бритвы со следующим кодом JavaScript, который получает объект JSON. Из этого кода, как я могу отправить объект JSON на контроллер? (MVC Core. NET 3.0)

Теперь это звучит безумно - единственная причина, по которой я это делаю, - это демонстрация этого проекта для обучения Чарльза Прокси - я написал контроллер, который может получить JSON данные из API - проблема в том, что Charles Proxy может перехватывать данные только в том случае, если я запускаю приложение локально - и при обучении других в классе этого сделать не удастся, поэтому мне нужно получить JSON Объект через клиента и отправить его на сервер.

Большое спасибо заранее: -)

<script>
var xhr = new XMLHttpRequest();
var url = "https://cors-anywhere.herokuapp.com/https://www.511virginia.org/data/geojson/icons.rwis.geojson";


xhr.onreadystatechange = function () {
    if (xhr.readyState == 4 && xhr.status == 200) {            
        var jsonData = JSON.parse(xhr.responseText);           
        showWeather(jsonData);
    }
};
xhr.open("GET", url, true);
xhr.send();

function showWeather(data) {
    var output = "<ul>"; 
    var i;
    // validate obj has data
    //for (var i in data.features) {
     //  output += "<li>" + data.features[i].id  + "</li>";
    //}
    output += "</ul>"; 
    document.getElementById("wxList").innerHTML = output;


}</script>

1 Ответ

0 голосов
/ 02 февраля 2020

На странице view / razor /.csthml:

 $.ajax({
        url: '/Home/Wx/',
        data: JSON.stringify(data),
        type: 'POST',
        traditional: true,
        contentType: 'application/json',
        success: function (data) {
            $('#message').html("Success!");
        }
    });

А для контроллера:

 [HttpPost]
    public IActionResult Wx([FromBody] RootObject data)
    {
        // Do some work here
        return View();
    }

Это сработало для меня. Приветствия

...