1

以下は、Ajax リクエスト用のコード スニペットです。リクエストは機能しますが、リクエストが処理されると、ページは CSS または JS なしで表示されます (すべてが同じディレクトリにあるにもかかわらず)。これをテストするために、既に存在する自分のサイトのページを指すようにリクエストを作成しました。何か助けはありますか?前もって感謝します。

<html>
<head>
<script type="text/javascript">
function loadXMLDoc()
{
var xmlhttp;
if (window.XMLHttpRequest)
  {
  xmlhttp=new XMLHttpRequest();
  }
else
  {
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","ajaxtest.html",true);
xmlhttp.send();
}
</script>
</head>
<body>
<div id="myDiv"><h2>Let AJAX change this text</h2></div>
<button type="button" onclick="loadXMLDoc()">Change Content</button>
</body>
</html>

ajaxtest.html

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.5.2/jquery-ui.min.js"></script>
<script type="text/javascript" src="http://swip.codylindley.com/jquery.DOMWindow.js"></script>

<p><a href="#inlineContent" class="defaultDOMWindow">Open DOM Window</a></p> 
<script type="text/javascript"> 
$('.defaultDOMWindow').openDOMWindow({ 
eventType:'click', 
loader:1, 
loaderImagePath:'animationProcessing.gif', 
loaderHeight:16, 
loaderWidth:17 
}); 
</script> 
<div id="inlineContent" style=" display:none;"> 
<p>Inline Content</p> 
<p>Click overlay to close window</p> 
<p>Consequat ea Investigationes in enim congue. Option velit volutpat quod blandit ex. Congue parum praesent aliquam nam clari. Qui praesent quam sollemnes id vulputate. In imperdiet diam at sequitur et. Minim delenit in dolor dolore typi. Erat delenit laoreet quinta videntur id. Ii at qui eum ut usus. Quis etiam suscipit iusto elit dolor. Dolor congue eodem adipiscing cum placerat. </p> 
<p>Erat usus lorem adipiscing non in. Nobis claram iusto et dolore facilisis. Claritatem decima velit decima ipsum wisi. Quinta ullamcorper sollemnes usus aliquip in. Ut aliquip velit tempor facit putamus. Habent duis et option quod facer. Delenit facer consequat seacula molestie notare. Qui tincidunt nobis lectores eleifend eorum. Decima usus facer id parum legere. Nonummy nonummy facilisis sit qui eodem. </p> 
</div>
4

3 に答える 3

1

これが機能するはずの方法です。

AJAX 呼び出しは、動作に関して、ブラウザー ウィンドウではありません。ajaxtest.html とこのファイルのみを取得します。ajaxtest.html によって参照される他のファイルを取得しようとはしません。

ドキュメント内に Web ページを配置する場合は、iframe を使用します。

<iframe id="iframe_test" src="ajaxtest.htm"></iframe>

次に、次のように呼び出して、この iframe にドキュメントをロードできます。

document.getElementById('iframe_test').src = 'ajaxtest2.html';
于 2013-03-05T11:04:37.367 に答える
0

訂正は以下の通りです。

document.getElementById('myDiv').innerHTML=xmlhttp.responseText;

に二重引用符を使用しないでくださいgetElementById

動的にDOMを追加しているため、ウィンドウが開いていないため、イベントは動的にロードされたコンテンツにバインドされません。

于 2013-03-05T11:52:56.677 に答える