我正在使用Nancy Framework和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', "");
}
});
});
答案 0 :(得分: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,它可能看起来像一个长杂乱的字符串)
答案 1 :(得分:0)
数据来源可能是一些网页
dataSource = "http://somepage.com/someaction";
以json文本呈现响应,抓取响应然后解析为javascript对象