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

发布于 2024-08-20 00:14:56 字数 372 浏览 6 评论 0原文

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

由于视觉效果,我不想使用 iframe。

事实上,我可以按照任何方式去做。如;
直接从数据库获取数据(机智安全问题),从 php 获取指定文本(放入特殊 div 中的值)或获取 php 的所有内容并将样式设置到侧边栏,带/不带 GET、POST 方法或其他方法:)
现在谢谢...

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

Hi all..
I want to get some information from my database and show into my sidebar gadget (i am newbee on gadget coding). I tried many ways to do it but i didn't succeed yet.
For this purpose, I have prepared a php file to get some values from my database (on the server) and i want to get the content (results) of this php file.

I don't want to use iframe because of visuality.

Actually, i can follow any way to do it. Such as;
Getting data from directly Database (wit security issues), getting specified text from php (values that are put in special divs) or getting all content of php and styling into sidebar with/without GET,POST methods or whatever it is :)
Thanks right now...

NOTE : i know (semi-proffesional) PHP, JavaScript, CSS but I don't know C#, VB etc.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

假情假意假温柔 2024-08-27 00:14:56

您可以通过多种方式访问​​数据。第一种是直接使用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 后进行eval)。

更多阅读:

XMLHttpRequest 对象 (MSDN)< br>
JavaScript 中的 JSON

There are a couple of ways you can access the data. The first is directly using ADO, a COM object built into Windows that can connect to databases. There are a few drawbacks to this method, the most important being that it's not very secure - your database username and password would have to be stored in plain text in the gadget's script file for anyone to see. This isn't quite as bad with limited permissions set.

Most developers would use a combination of PHP and XMLHttpRequest(). The PHP will fetch the data from the database on request, as you suggested yourself. The XMLHttpRequest is what is used for fetching the page contents. The only thing you need to decide is what format to output the data in; XML, JSON or something else. XML and JSON can be parsed by your gadget so either of those is a great choice. If you're running PHP 5.2 or later then JSON support is native. It's straightforward enough to get the data from the database as an associative array and then json_encode it and print the result.

XMLHttpRequest example

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();

Gadgets running on machines with IE8 installed can use JSON.parse() natively, pre IE8 will need to either eval() the data or run it through a safe parser (most of which eval after making sure the data is valid JSON).

More reading:

XMLHttpRequest Object (MSDN)
JSON in JavaScript

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文