【问题标题】:What is a JSON Data Source?什么是 JSON 数据源?
【发布时间】:2011-09-01 11:40:58
【问题描述】:

我正在使用 Nancy 框架和 Spark 视图引擎开发 C# 控制台应用程序,并且我正在尝试从另一个项目中复制某些内容。但是,我对 Javascript 和 JSON 都非常缺乏经验。要从我的 HTML 调用我的 C# 代码中的聊天功能,现在我只需使用类似以下的内容...

HTML:

http://localhost:1234/sendchat?message="this is a test message"

C#代码:

    Get["/sendchat"] = x =>
    {
        string message = Request.Query.message;
        string message2 = message.Replace("\"", "");
        Console.WriteLine(message2);

        return View["console.spark"];
    };

问题是这会导致页面重新加载。在我正在寻找参考的项目中,他们使用 Javascript/JSON 来调用相同类型的函数,而无需重新加载页面。我理解除了 JSON 行之外的所有内容,因为我不明白 DataSource 是什么......

$(document).ready(function () {
    $("#typechat").keypress(function (event) {
        if (event.keyCode == '13') {
            event.preventDefault();
            message = escape($("#typechat").attr('value'));
            $.getJSON(dataSource + "?req=sendchat&message=" + message);
            $("#typechat").attr('value', "");
        }
    });
});

【问题讨论】:

  • dataSource 看起来只是一个字符串变量,它可能在其他地方定义了搜索“var dataSource”
  • 哇,在没有 javascript 和 JSON 经验的情况下尝试使用最新的 Web 框架进行 REST 应用程序。玩得开心,伙计。

标签: c# javascript json query-string nancy


【解决方案1】:

dataSource 只是一个类似http://yourserver.com/possibly/with/a/path 的http 域。它将是代码中某处定义的字符串。

JSON 资源的获取与常规 HTML 页面一样,通过 HTTP 进行正常的 GET 请求。唯一的区别是内容是 JSON 而不是 HTML。例如,在您的浏览器中尝试此操作以查看 SO api 返回的 JSON:

http://api.stackoverflow.com/1.1/users/183579

(如果您没有浏览器插件来很好地格式化/突出显示 JSON,它可能看起来就像一个长而杂乱的字符串)

【讨论】:

    【解决方案2】:

    数据源可能是某个网页

    dataSource = "http://somepage.com/someaction";
    

    将响应呈现为 json 文本,响应被抓取然后解析为 javascript 对象

    【讨论】:

    • 谢谢。我一发布就意识到这是一个多么愚蠢的问题-_-
    猜你喜欢
    • 1970-01-01
    • 2015-12-10
    • 1970-01-01
    • 1970-01-01
    • 2011-03-08
    • 2010-10-25
    • 1970-01-01
    • 1970-01-01
    • 2012-01-30
    相关资源
    最近更新 更多