0

このコードは実行されません。機能に問題があると思いxhttp.send()ます。alert実行前の関数は実行されますが、alert実行後の関数は実行されないためです。

<html>
<head>
    <title>PAGE OUTPUT</title>
    <script type="text/javascript">
    function aa()
    {   
        var xhttp;
        alert("hi welcome"); 
        if(window.XMLHttpRequest)
        {
            xhttp=new XMLHttpRequest();
            alert("hi");
        }
        else
        {
            xhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }
        xhttp.open("GET","vehicle.xml",false);
        alert("OPEN EXECUTED");
        xhttp.send();
        alert("SEND EXECUTED");
        xmlDoc=xhttp.responseXML;
        alert("HI I HAVE REACHED OVER HERE");
        var vehicle=xmlDoc.documentElement;
        var car=vehicle.firstChild.nodeValue;
        var price=car.firstChild.nodeValue;
        alert(price);
    }
    </script> 
</head>
<body>
<center><input type="submit" onclick="aa()"></center>
</body>

4

2 に答える 2

1

URL がfile:///path/to/fileのようなものであるかどうかを確認することをお勧めします。セキュリティ上の理由から、ブラウザーはページから XHR を送信できません (最近では不合理に思えます)。

この場合、サーバーを起動し、http://localhost/path/to/fileのそのページにアクセスする必要があります。私が知っている最も簡単な方法は、Python SimpleHTTPServer を起動することです。MS Windows を使用している場合は、Python を自分でインストールするか、Mac/Linux ディストリビューションで利用できます。次に、次の手順に従います

  • ターミナルを起動します (MS Windows ではコマンド ライン プロンプトと呼ばれ、Win+R を使用して入力し、起動しますcmd)
  • cdファイルが配置されているパスへ
  • 実行するpython -m SimpleHTTPServer
  • http://localhost:8000/html_fileブラウザでアクセス
  • いつものようにそのボタンをクリックしてください

これで、それらが表示されますalert。さらに、必要に応じて変更xmlDoc=xhttp.responseXMLするxmlDoc = xhttp.responseText必要がある場合があります。

それからjQueryを試してみてください。これは ajax にとってはるかに簡単です。

于 2013-01-19T09:19:30.873 に答える
0

送信ボタンのクリックをキャンセルする

onclick="aa(); return false;"
于 2013-01-19T05:55:57.613 に答える