jQuery を使用して SQL Server からデータを取得し、HTML コントロールを使用してデータを表示することはできますか?
2 に答える
jQuery はブラウザー環境内で実行するように設計されています。つまり、ブラウザー環境は DOM を備えた環境であり、(当然のことながら) JavaScript をサポートしています。
MS SQL Server からデータを取得するには、データベース ドライバーとサーバーへのアクセスが必要です。ブラウザーがこれら 2 つの機能を備えていることはめったにありません。
代わりに、これを構築する通常の方法は、ブラウザベースのコードを中間層サーバー (ブラウザはそれらとの通信に優れているため、Web サーバー) と通信させ、データベースにアクセスできるようにすることです。これにはいくつかの理由があります。
セキュリティ、ゲートキーピング、スロットリング、監視などを適用する場所 (ブラウザとデータベースの間のサーバー) を提供します。
データベースのコードと構造がエンド ユーザーに公開されるのを防ぎます (ブラウザー ベースの JavaScript コードは、読みたい人なら誰でも読むことができるため)。
ブラウザー環境からデータベース ドライバーにアクセスするのは難しく、
ActiveXObject
すべてのブラウザーに存在するわけではなく、IE が存在するブラウザーでもセキュリティ警告をトリガーするなど、非標準のものを必要とします。
ブラウザーがサーバーと対話する方法は、何をしたいかによって異なりますが、最近の慣例では ajax を使用します。これは、Asynchronous 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 はデータベース クエリを実行できません (しゃれは意図されていません)。