Ajax-запрос работает, но без CSS - PullRequest
0 голосов
/ 12 февраля 2011

Ниже приведен фрагмент кода, который у меня есть для запроса Ajax.Запрос работает, но когда запрос обрабатывается, страница отображается без CSS (хотя у меня все в одной директории)Чтобы проверить это, я сделал запрос на страницу на моем сайте, которая уже существовала.Любая помощь?Заранее спасибо.

<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>

Ответы [ 4 ]

1 голос
/ 12 февраля 2011

Внедрение CSS на страницу через Ajax поддерживается не всеми браузерами (встроенными или с помощью тега <link>).

Решение состоит в том, чтобы загрузить CSS для содержимого ajax на странице, содержащейAjax Call.

0 голосов
/ 12 февраля 2011

Переместите CSS в элемент

0 голосов
/ 12 февраля 2011

Проблема в том, что вы перезаписываете тег H2 с помощью innerHTML. если у вас было что-то вроде

<h2 id="myDiv">Let AJAX change this text</h2>

Это сохранит h2. Или вам нужно вернуть AJAX:

<h2>What I want to change it to</h2>
0 голосов
/ 12 февраля 2011

Согласно W3 Schools , элемент <link> для таблицы стилей может появиться только в вашем документе <head>.

Следовательно, если вы включаете содержимое всего внешнего файла (который связывает свои собственные стили) внутри ваших <div>, которые не будут загружены.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...