我想根据来自另一个站点的各种数据制作一个计算内容的小网页。比方说一个在线浏览器游戏。
我想从游戏的网页中获取一些具体的细节,但我什至不知道从哪里开始。
这对javascript可行吗(如果不是我想知道它是什么语言)?谁能给我一个关于如何做到这一点的一般指导方针?
我想根据来自另一个站点的各种数据制作一个计算内容的小网页。比方说一个在线浏览器游戏。
我想从游戏的网页中获取一些具体的细节,但我什至不知道从哪里开始。
这对javascript可行吗(如果不是我想知道它是什么语言)?谁能给我一个关于如何做到这一点的一般指导方针?
我有一个使用 AJAX 动态获取信息的标准函数。我使用 PHP 作为我的听众。您的侦听器必须能够接受来自 URL 的变量,例如 PHP $_GET[]。
在下面的示例中,名为“source_url.php”的侦听器必须检查在 $_GET[field] 中接收到的值,然后简单地打印/回显结果。
JAVASCRIPT:
function get_(url, func)
{
var http;
try { http = new XMLHttpRequest(); } catch (e) { try { http = new ActiveXObject(\"Msxml2.XMLHTTP\"); } catch (e) { try { http = new ActiveXObject(\"Microsoft.XMLHTTP\"); } catch (e) { alert(\"Your browser broke!\"); return false; } } }
http.open(\"GET\", url, true);
http.onreadystatechange = function() { if(http.readyState == 4) { func(http); } }
http.send(null);
}
function get_info(fieldname)
{
get_("source_url.php?field=" + fieldname, showResult)
}
function showResult(h)
{
alert("The result is: " + h.responseText);
}
HTML
<button onClick='get_info("name");'>Get the ship Name</button>
<button onClick='get_info("reg");'>Get the Registration Number</button>
<button onClick='get_info("capt");'>Who is the Captain?</button>
PHP
<?php
if ($_GET[field] == "name") { print "U.S.S. Enterprise"; }
if ($_GET[field] == "reg") { print "NCC - 1701"; }
if ($_GET[field] == "capt") { print "Jean Luc Picard"; }
?>
我一直在使用它,尽管我创建了一个具有身份验证安全性的更高级版本。如果您只是在学习 AJAX 的工作原理,那么您应该从这里开始。
您可以使用 AJAX 和 XMLHTTPRequest 的组合,但这些都受制于同源策略。
当然,如果外部站点能够以JavaScript Object Notation 格式 (JSON)发回数据以提高可读性,这将变得容易得多。
这里有一个类似的问题询问如何使用 XMLHTTPRequest 获取外部站点的内容:如何为 XMLHTTPRequest 指定外部网站
关于使用 XMLHTTPRequest 和 JSON 还有另一个类似的问题:跨域 JSON 请求?