【问题标题】:How to send data from C# to JavaScript/AJAX webpage如何将数据从 C# 发送到 JavaScript/AJAX 网页
【发布时间】:2013-09-20 13:04:45
【问题描述】:

基本上,我需要一个 c# 服务器能够将数据发送回 HTML5 网页,该网页之前已将数据发送到服务器。服务器正在从另一个应用程序检索数据,然后需要将该数据发送到要显示的网页。

此 c# 服务器在 .NET CF 3.5 上运行,因此 websockets 不是一个选项(不支持)。

我在其他地方看到了一些建议,但没有一个符合这种特殊情况的必要标准。大多数其他实现似乎都在网页将等待此数据发送过来的基础上工作。

欢迎提出任何建议!

【问题讨论】:

  • 网络服务器从其他应用程序获取数据需要多长时间?
  • 为什么不直接返回 JSON 响应。简单灵活。 JSON.NET 使这很容易做好。

标签: c# javascript jquery ajax .net-cf-3.5


【解决方案1】:

如果 websockets 不是一个选项,那么你就剩下Comet

在客户端你可以这样做:

(function poll(){
    $.ajax({ 
        url: "url",
        success: function(data) { /*display data*/ },
        complete: poll, 
        timeout: 30000 });
})();

这意味着将每 30 秒发送一次 ajax 请求。

这不如 websockets 性能好,但效果很好。

【讨论】:

  • 谢谢你,考虑到我能做的,这似乎是最可行的。不过,我确实有一个问题,我将如何指定在服务器端向该请求提供哪些数据?
【解决方案2】:
  1. 创建一个 .aspx 页面并从中删除所有 HTML。称它为 GetData.aspx
  2. 在 GetData.aspx.cs 后面的代码中,您可以从 HTML5 页面接收 POST 数据。
  3. 工作。

  4. 使用 jquery。

  5. $.post("GetData.aspx",{name: value},function(json){ // 将处理指令放在这里。 });

【讨论】:

    【解决方案3】:

    有两种方法可以做到这一点:

    使用 ASP.NET 网页

    1. 创建调用 javascript 函数的 HTML 元素
    2. 在 javascript 函数内部,使用 ajax 向 ASP.NET 网页(使用 C# 作为后端)进行 POST
    3. 在ajax“成功”块中获取返回值。
    4. 随意使用...

    使用 JSON 字符串返回

    1. 创建调用 javascript 函数的 HTML 元素
    2. 在 javascript 函数内部,使用 ajax 向 Web 服务(使用 C# 作为后端)发送 POST,返回 JSON 字符串。
    3. 以任何需要的方式使用返回的 JSON 数据。

    我个人更喜欢 jSON,因为它模拟数据集,并且可以很好地与 HTML 和 ajax 配合使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-10-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-07
      相关资源
      最近更新 更多