6

是否可以使用 jQuery 从 SQL Server 检索数据并使用 HTML 控件显示数据?

4

2 回答 2

13

jQuery 被设计为在浏览器环境中运行——所以这是一个带有 DOM、JavaScript 支持(显然)等等的环境。

要从 MS SQL Server 检索数据,您需要访问数据库驱动程序和服务器。浏览器很少有这两个东西,即使有,你通常也不希望两者直接对话。

相反,构建它的通常方式是让基于浏览器的代码与中间层服务器(Web 服务器,因为浏览器擅长与它们通信)通信,然后它可以访问数据库。有几个原因:

  1. 它为您提供了一个位置(浏览器和数据库之间的服务器)来应用安全性、守门、节流、监控等。

  2. 它可以防止将您的数据库代码和结构暴露给最终用户(因为任何想要阅读它的人都可以阅读基于浏览器的 JavaScript 代码)。

  3. 从浏览器环境访问数据库驱动程序很棘手,需要非标准的东西,例如 IE ActiveXObject,并非所有浏览器都存在,并且即使在它们存在的浏览器上也会触发安全警告。

您如何让浏览器与服务器通信取决于您想要做什么,但现代做法是使用 ajax,它代表(有点杜撰)异步 JavaScript 和 XML。(如今人们使用它的用途远不止 XML;JSON是一种更常见的数据表示法。)

例如,也许您想在单击按钮时填写一些 HTML。在您的基于浏览器的代码中,您将钩住按钮单击:

$("#theButton").click(handleButtonClick);

您将让该按钮向服务器发送请求。如果请求是幂等的(你总是返回相同的数据),你发送一个 GET;否则,您发送一个 POST:

function handleButtonClick() {
    $.ajax({
        url:     "/path/to/server/resource",
        type:    "GET",
        data:    {articleId: 27},
        success: function(data) {
            /* ...use the data to fill in some HTML elements... */
        },
        error:   function() {
            /* ...show an error... */
        }
    });
}

在服务器上,页面/path/to/server/resource会做必要的工作来验证请求是否应该被满足,连接到数据库,查询(或更新)信息,并格式化响应以发送回客户端。

显然,以上是对您如何执行此操作的非常、非常、非常简洁的描述,但希望它为您奠定了基础,并让您了解下一步该研究什么。

于 2012-12-16T08:16:38.570 回答
0

Ajax 请求通常用于使用 javascript 或 jQuery 执行此类操作。

我认为不可能直接这样做,因为 javascript 运行客户端,而不是服务器端。

jQuery 无法运行数据库查询(没有双关语)。

于 2012-12-16T08:16:20.210 回答