我希望用数据库查询的结果填充一个 JavaScript 数组。据我所知,一个好的方法是用序列化的 XML 或 JSON 文件填充我服务器上的一堆目录,然后我的 JS 函数可以读取这些文件而无需访问数据库。这是真的?数据库应该在用户交互时写入这些 XML 文件,还是应该预先填充它们?
最佳答案
根据您提供的详细信息:
我个人会创建一个 Web 服务端点,返回使用 JSON.NET 或等效项序列化为 JSON 的 linq 查询。然后可以在您的客户端页面中使用 ajax 调用端点。
您可以在 ASP.NET 上查看此示例了解如何创建 asmx(旧版)Web 服务。你也可以看看this使用 [WebMethod] 属性的示例。
代码隐藏文件中的 Web 方法。
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetMyQueryResultsAsJson()
{
var results = GetQueryResults();
var jss = new JavaScriptSerializer();
string json = jss.Serialize(results);
return json;
}
客户端页面上的 ajax 调用:
function loadData() {
var myArray = [];
$.getJSON("<%= ResolveUrl("~/MyPage.aspx/GetMyQueryResultsAsJson") %>", function (data) {
$.each(data, function(obj) {
myArray.push([obj.id, obj.someValue, obj.AnotherValue]);
});
});
}
关于asp.net - 将 LINQ to SQL 查询的结果转换为 XML/JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15306883/