データにアクセスする方法はいくつかあります。1つは、データベースに接続できるWindowsに組み込まれたCOMオブジェクトであるADOを直接使用することです。この方法にはいくつかの欠点がありますが、最も重要なのは、安全性が低いことです。データベースのユーザー名とパスワードは、誰でも見ることができるように、ガジェットのスクリプトファイルにプレーンテキストで保存する必要があります。これは、制限された権限が設定されていればそれほど悪くはありません。
ほとんどの開発者は、PHPと。の組み合わせを使用しますXMLHttpRequest()
。あなたが提案したように、PHPは要求に応じてデータベースからデータをフェッチします。XMLHttpRequestは、ページのコンテンツをフェッチするために使用されるものです。決定する必要があるのは、データを出力する形式だけです。XML、JSON、またはその他。XMLとJSONはガジェットで解析できるため、どちらかを選択することをお勧めします。PHP 5.2以降を実行している場合、JSONサポートはネイティブです。データベースから連想配列としてデータを取得し、それを取得して結果を出力するのは簡単json_encode
です。
XMLHttpRequestの例
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://mysite.com/test.php", true);
xhr.onreadystatechange = function ()
{
// readyState 4 = complete, status 200 = HTTP OK
if (xhr.readyState == 4 && xhr.status == 200)
{
parseData(JSON.parse(xhr.responseText)); // parse a JSON response
// parseData(xhr.responseXML); // parse an XML response
}
}
xhr.send();
IE8がインストールされているマシンで実行されているガジェットはJSON.parse()
、ネイティブに使用できます。IE8より前ではeval()
、データを安全なパーサーで実行する必要があります(ほとんどのeval
場合、データが有効なJSONであることを確認した後)。
もっと読む:
JavaScriptのXMLHttpRequestオブジェクト(MSDN)
JSON