javascript - 如何使用 Ajax 将 WebSocket 数据从 View 发送到 Controller 以及将修改后的数据发送到 View

标签 javascript c# asp.net json ajax

我正在尝试将 websocket 数据从 View 发送到 Controller ,并再次修改数据发送到带有按钮或类似内容的表中的 View 。 现在可以将数据发送到 Controller :

查看:

<script type="text/javascript">
    var webSocket;
    var webSocketValue;
    function webSocketResults() {
        webSocket = new WebSocket("ws://......");
        webSocket.onmessage = function (event) {
            webSocketValue = event.data;
            $("#webSocketValue").text(webSocketValue);
            $.ajax({
                url: "@Url.Action("getWebSocketResults", "Home")",
                type: "POST",
                contentType: "application/json",
                data: webSocketValue
            });
        };
        showCurrenciesData(webSocketValue);
    }
    function showCurrenciesData() {
        $.ajax({
            cache: false,
            type: "GET",
            url: "@Url.Action("getWebSocketResults", "Home")",
            dataType: 'json',
            success: function (result) {
                alert("Sukcess!!" + result);
            },
            error: function (xhr, ajaxOptions, thrownError) {
                alert('Failed to retrieve data.');
            }
        });
    }
    window.onload = webSocketResults;

Controller

    public ActionResult getWebSocketResults(Currencies currencies)
    { //do something with data "currencies" and dynamicly send this to view
        var webSocketItems = currencies.items.ToList();
        return Json(webSocketItems, JsonRequestBehavior.AllowGet);
    }

在 Controller 中,我有来自 View 的数据(对象)。 如何动态发送这些数据。来自 WebSocket 的新数据每分钟都会到达。 发送数据查看不起作用。

最佳答案

你打了两次电话。第一次没有处理结果。第二次没有参数。

<script type="text/javascript">
var webSocket;
var webSocketValue;
function webSocketResults() {
    webSocket = new WebSocket("ws://......");
    webSocket.onmessage = function (event) {
       showCurrenciesData(event.data);
    };

}
function showCurrenciesData(data) {
    $.ajax({
        cache: false,
        type: "GET",
        url: "@Url.Action("getWebSocketResults", "Home")",
        dataType: 'json',
        data: data,
        success: function (result) {
            alert("Sukcess!!" + result);
        },
        error: function (xhr, ajaxOptions, thrownError) {
            alert('Failed to retrieve data.');
        }
    });
}
window.onload = webSocketResults;

关于javascript - 如何使用 Ajax 将 WebSocket 数据从 View 发送到 Controller 以及将修改后的数据发送到 View,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42601775/

相关文章:

Javascript:从自定义 API 将许多图像加载到 DOM 中,无需使用 base64-dataURLs

c# - .NET 4.0 内存映射文件性能

c# - NHibernate 带来旧数据

ASP.NET MVC - 根据上一篇文章对论坛主题进行排序

javascript - 如果另一个元素已经聚焦,如何聚焦 body 元素?

javascript - 代理(如 fiddler )可以与 Node.js 的 ClientRequest 一起使用吗

javascript - JS 的最佳实践 - href 或 onclick 中的 window.open()?

c# - 如何从具有基本类型约束的泛型方法中获取 typeof(T)?

asp.net - ASPX 背后的代码问题

c# - 我怎样才能找出 kernelbase.dll 中的错误是什么?