0

別のサイトからのさまざまなデータに基づいて、何かを計算する小さな Web ページを作成したいと考えています。オンライン ブラウザ ゲームの場合を考えてみましょう。

ゲームの Web ページから特定の詳細を取得したいと考えていますが、どこから始めればよいかさえわかりません。

これはjavascriptで実行できますか(そうでない場合は、それがどの言語であるか知りたいです)? これを行う方法の一般的なガイドラインを誰か教えてもらえますか?

4

2 に答える 2

0

AJAXを使用して情報を動的に取得するための標準機能があります。PHP をリスナーとして使用します。リスナーは、PHP $_GET[] のように、URL から変数を受け入れることができる必要があります。

以下の例では、"source_url.php" という名前のリスナーは、$_GET[field] で受け取った値をチェックし、結果を単純に出力/エコーする必要があります。

ジャバスクリプト:

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に外部 Web サイトを指定する方法

XMLHTTPRequest と JSON の使用に関する別の同様の質問があります: Cross-domain JSON request?

于 2013-04-09T18:16:54.463 に答える