0

我想根据来自另一个站点的各种数据制作一个计算内容的小网页。比方说一个在线浏览器游戏。

我想从游戏的网页中获取一些具体的细节,但我什至不知道从哪里开始。

这对javascript可行吗(如果不是我想知道它是什么语言)?谁能给我一个关于如何做到这一点的一般指导方针?

4

2 回答 2

0

我有一个使用 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 的工作原理,那么您应该从这里开始。

于 2013-04-09T18:52:24.483 回答
0

您可以使用 AJAX 和 XMLHTTPRequest 的组合,但这些都受制于同源策略

当然,如果外部站点能够以JavaScript Object Notation 格式 (JSON)发回数据以提高可读性,这将变得容易得多。

这里有一个类似的问题询问如何使用 XMLHTTPRequest 获取外部站点的内容:如何为 XMLHTTPRequest 指定外部网站

关于使用 XMLHTTPRequest 和 JSON 还有另一个类似的问题:跨域 JSON 请求?

于 2013-04-09T18:16:54.463 回答