代码之家  ›  专栏  ›  技术社区  ›  Alper

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

  •  3
  • Alper  · 技术社区  · 15 年前

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

    我不想使用iframe,因为它有视觉效果。

    事实上,我可以用任何方法去做。如;
    直接从数据库获取数据(包括安全问题)、从PHP获取指定文本(放在特殊div中的值)或获取PHP的所有内容,并使用/不使用get、post方法或其他方法将其样式化为侧栏:)
    现在谢谢你…

    注释 :我知道(半专业)php、javascript、css,但我不知道c、vb等。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Andy E    15 年前

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

    大多数开发人员将使用PHP和 XMLHttpRequest() . 按照您自己的建议,PHP将根据请求从数据库中获取数据。xmlhttpRequest用于获取页面内容。唯一需要决定的是输出数据的格式:XML、JSON或其他格式。XML和JSON可以由您的小工具进行解析,因此这两个选项中的任何一个都是很好的选择。如果您运行的是php 5.2或更高版本,那么 JSON support is native . 它非常简单,可以将数据库中的数据作为一个关联数组来获取,然后 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)。

    更多阅读:

    XMLHttpRequest Object (MSDN)
    JSON in JavaScript

    推荐文章