从服务器获取小工具(Vista/7)的信息

3

大家好..
我想从我的数据库中获取一些信息,并显示在我的侧边栏小工具(我是小工具编码的新手)。我尝试了很多方法,但还没有成功。
为此,我准备了一个php文件来从我的服务器上获取一些值,并且我想要获取这个php文件的内容(结果)。

我不想使用iframe,因为它影响可视性。

实际上,我可以遵循任何方式来完成。例如;
直接从数据库获取数据(存在安全问题),从php中获取指定的文本(放置在特殊的div中的值),或者获取php的所有内容并使用GET、POST方法将其样式化到侧边栏中,无论是什么方法 :)
现在就谢谢大家了...

注意:我知道(半专业的)PHP、JavaScript、CSS,但我不知道C#、VB等。

1个回答

1

您可以通过几种方式访问数据。首先是直接使用ADO,这是内置在Windows中的COM对象,可连接到数据库。这种方法有一些缺点,最重要的是不够安全-您的数据库用户名和密码必须以纯文本形式存储在小工具的脚本文件中,以便任何人都可以看到。如果设置了有限权限,则没有那么糟糕。

大多数开发人员会使用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()或者通过安全解析器(大多数在确保数据是有效的JSON后再进行评估)处理。
更多阅读:

XMLHttpRequest对象(MSDN)
JavaScript中的JSON


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接