我想根据来自其他网站的各种数据制作一个计算内容的小网页。让我们说一个在线浏览器游戏。
我想从游戏网页上获取一些具体细节,但我甚至不知道从哪里开始。
这可以用javascript(如果不是我想知道它是什么语言)?谁能给我一个如何做到这一点的指导方针?
答案 0 :(得分:0)
您可以使用AJAX和XMLHTTPRequest的组合,但这些都受same origin policy的约束。
当然,如果外部网站可以在JavaScript Object Notation format (JSON)中发回数据以提高可读性,那么它会更容易。
此处有一个类似的问题,询问如何使用XMLHTTPRequest获取外部网站的内容:How to specify an external website for XMLHTTPRequest
关于使用XMLHTTPRequest和JSON还有另一个类似的问题:Cross-domain JSON request?
答案 1 :(得分: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的工作原理,那么就应该从这里开始。