0

我正在使用 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', "");
        }
    });
});
4

2 回答 2

1

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

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

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

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

于 2011-09-01T11:44:46.517 回答
0

数据源可能是某个网页

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

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

于 2011-09-01T11:46:24.790 回答