【问题标题】:Using JavaScript how do I sent JSON from Razor page to Controller in MVC .NET Core使用 JavaScript 如何将 JSON 从 Razor 页面发送到 MVC .NET Core 中的控制器
【发布时间】:2020-02-02 00:35:46
【问题描述】:

我有一个剃须刀页面,其中包含以下获取 JSON 对象的 JavaScript 代码。从此代码中,如何将 JSON 对象发送到控制器? (MVC Core.NET 3.0)

我现在这听起来很疯狂——我这样做的唯一原因是为了演示这个项目以进行 Charles Proxy 培训——我编写了一个可以从 API 获取 JSON 数据的控制器——问题是 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>

【问题讨论】:

  • 感谢大卫,抱歉 - 很好 :-)

标签: javascript .net json asp.net-core-mvc


【解决方案1】:

在视图/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();
    }

这对我有用。干杯

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-26
    • 1970-01-01
    • 2020-10-08
    • 2020-05-04
    • 2016-09-07
    • 2021-06-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多