0

サーバー(現在は自分のローカルコンピューター)でphpを呼び出すことができるjavascriptを設計しています

最終的には、phonegap を使用して JavaScript を解釈し、結果を表示します...

私の問題は、実際のサーバーに接続しているようです。

これが私のJavaScriptです:

  <!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
function loadXMLDoc() {
    var xmlhttp;
    if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari
        xmlhttp = new XMLHttpRequest();
    } else { // code for IE6, IE5
        xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    }
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            document.getElementById("myDiv").innerHTML = xmlhttp.responseText;
        }
    }
    xmlhttp.open("POST", "http://127.0.0.1/myfiles/WorkingVersionVQuickLook.php", true);
    xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlhttp.send("ipaddress=208.74.76.5");
}
</script>
</head>
<body>
<h2>AJAX</h2>
<button type="button" onclick="loadXMLDoc()">Request data</button>
<div id="myDiv"></div>
</body>
</html>

ローカルホストの後に場所を指定する代わりに、次のように WorkingVersionVQuicklook.php だけを参照すると機能します。

 xmlhttp.open("POST","WorkingVersionVQuickLook.php",true)

しかし、ローカルホストに正確な場所を追加すると、そうではありません。

Android用のエミュレーターにエクスポートすると、動作するバージョンでもエミュレーターで動作しないため、ローカルマシンで指定する必要があるという考えに至りました。ただ、ブラウザで動かさないと動かないので、エミュレータでは動きません。

正常にマッピングされた接続を作成して、ブラウザーで機能し、できれば私のアンドロイドで機能するようにしてください!

4

2 に答える 2

1

/myfiles/WorkingVersionVQuickLook.phpではなくを使用してみてくださいhttp://127.0.0.1/myfiles/WorkingVersionVQuickLook.php。XHR を使用して異なるホストに接続するのは難しい場合があります。

于 2012-07-11T21:10:31.713 に答える
1

考えられる解決策:

まず、絶対 URL にポート番号がない可能性が高いと思います。次に、ネットワーク上の他のコンピューターからコンピューターに接続するために使用する IP アドレスを使用する必要があります。これは、エミュレーターが独自の仮想化されたマシンとして実行されるためです。そのため、localhost または相対 URL を使用すると、メイン OS のファイル システムのパスではなく、エミュレーターの指定されたパスに要求が送信されます。

(質問に直接答えるために編集されました)

于 2012-07-11T21:23:03.400 に答える