私はサーバーに接続し、応答を受信して自動的に再度接続するJavascriptを作成しようとしています。FirefoxでAJAXリクエストをループしているときにエラーが発生しました
<head>
<title>tests</title>
<script type="text/javascript" src="/javascripts/jquery.min.js"></script>
<script type="text/javascript">
function requestData() {
var oRequest = new XMLHttpRequest();
oRequest.onreadystatechange = handleData;
oRequest.open('GET', '/test.php', true);
oRequest.send(null);
}
function handleData() {
if(this.readyState == 4) {
document.write(this.responseText);
requestData();
}
}
$(function(){
requestData();
});
</script>
</head>
<body>
</body>
上記のコードは、クロムで正常に動作しますが、スクリプトは次のエラーで、Firefoxで失敗した2つの要求の後に...
requestDataは
が定義されていないなぜこれが起こっている誰でも知っていますか?サーバーはただちに1桁の数字で応答しています。 (私はこれはIEでは動作しません知っているPSは、罰金thatsの)
おかげ
なぜこれが起こっているかは分かりませんが、あなたのスクリプトは非常に非効率的です。毎回新しいリクエストオブジェクトを作成するのはちょっと奇妙です。おそらく、これも起こっているのですが、open/send部分だけがrequestData関数に入るように書き直してみてください。 – gnur