是否可以使用 jQuery 从 SQL Server 检索数据并使用 HTML 控件显示数据?
2 回答
jQuery 被设计为在浏览器环境中运行——所以这是一个带有 DOM、JavaScript 支持(显然)等等的环境。
要从 MS SQL Server 检索数据,您需要访问数据库驱动程序和服务器。浏览器很少有这两个东西,即使有,你通常也不希望两者直接对话。
相反,构建它的通常方式是让基于浏览器的代码与中间层服务器(Web 服务器,因为浏览器擅长与它们通信)通信,然后它可以访问数据库。有几个原因:
它为您提供了一个位置(浏览器和数据库之间的服务器)来应用安全性、守门、节流、监控等。
它可以防止将您的数据库代码和结构暴露给最终用户(因为任何想要阅读它的人都可以阅读基于浏览器的 JavaScript 代码)。
从浏览器环境访问数据库驱动程序很棘手,需要非标准的东西,例如 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
会做必要的工作来验证请求是否应该被满足,连接到数据库,查询(或更新)信息,并格式化响应以发送回客户端。
显然,以上是对您如何执行此操作的非常、非常、非常简洁的描述,但希望它为您奠定了基础,并让您了解下一步该研究什么。
Ajax 请求通常用于使用 javascript 或 jQuery 执行此类操作。
我认为不可能直接这样做,因为 javascript 运行客户端,而不是服务器端。
jQuery 无法运行数据库查询(没有双关语)。