2012-06-05 1 views
1

Когда я использую скрипт для получения содержимого с определенного URL-адреса с помощью ajax, мой HTML-контент не отображается, т.е. мой элемент таблицы не отображается: я получаю данные из specif URL и я показываю его в окне предупреждения, а также с помощью document.write писать на странице данные, поступающие из URL я назвал:Мой HTML-контент не отображается, когда я использую Javascript

<head> 
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.css" /> 
    <script src="http://code.jquery.com/jquery-1.5.2.min.js"></script> 
    <script src="http://code.jquery.com/mobile/1.0a4/jquery.mobile-1.0a4.min.js"></script> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
    $.ajax({ 
     type:"POST", 
     url:"http://your url", 
     success: onSuccess, 
     error:onError 
    }); 
    }); 
    function onSuccess(data){ 
    var servertext=data; 
    document.write(servertext); 
    alert(servertext); 
    } 
    function onError(data){ 
    alert(data+'error'); 
    } 
    </script> 
</head> 
<body> 
    <p> hello</p> 
    <table height="150px" weight="150px" border="1px"> 
    <tr> 
    <td><img src="green.png" height="100px" width="100px" /></td> 
    </tr> 
</table> 

enter code here

ответ

5

не должны document.write использовать после e закончила загрузку. Если вы его назовете, он косвенно вызовет document.open, который закроет страницу и создаст новый документ.

+0

моя проблема заключается в моем HTML elementi.e таблицы шоу в коде не – unkown

+0

экран отображается делать и хочу сказать document.open (servertext) ; – unkown

+2

@lenda Нельзя использовать 'document.write' после загрузки страницы. Вызов 'document.write' ** уничтожает всю страницу ** и создает новую страницу только с вашим содержимым Ajax. Если вы хотите избежать уничтожения всего содержимого вашей страницы, ** не используйте 'document.write' ** после загрузки страницы. – apsillers

0

Не используйте document.write, так как это не будет работать и не так.

Вместо этого добавьте некоторые замещающий элемент к вашему HTML затем присвоить ответ:

document.getElementById("myplaceholder").innerHTML = servertext; 

Это поместит ответ в элементе определяется как:

<div id="myplaceholder"></div> 

Также обратите внимание, вы можете отправить запрос только страниц в том же домене, что и страница с кодом AJAX. (Same Origin Policy)

+0

моя проблема - мой элемент html i.e показать таблицу в коде не расспрашивается – unkown

+0

Какая таблица? Какой код? Пожалуйста, будьте более ясны. –

+0

<таблица высота = «150px» вес = «150px» граница = «1px»> это не отображается на моей странице идентификатор содержимого тела я удалить мой сценарий эта таблица будет есть – unkown

1

Если servertext является HTML, попробуйте следующее:

<script type="text/javascript"> 
    $(document).ready(function() { 
      $.ajax({ 
       type:"POST", 
       url:"http://your url", 
       success: onSuccess,   
       error:onError     
      });   
    }); 
    function onSuccess(data){ 
     var servertext=data; 

     $("div#ajaxContent").html(servertext); 

     alert(servertext); 
    } 
    function onError(data){ 
    alert(data+'error'); 

    }  
</script> 
</head> 
<body> 
<p> heloo</p> 
    <table height="150px" weight="150px" border="1px">  
     <tr> 
      <td> <img src="green.png" height="100px" width="100px" /></td> 
     </tr> 
    </table> 
    <div id="ajaxContent"></div> 
</body> 
+0

моя проблема - это мой элемент html, то есть отображение таблицы в коде не рассылается – unkown

+0

Вы пробовали '$ (" div # ajaxContent "). html (servertext)'? Он отобразит любой html, возвращаемый вашим вызовом ajax. – TheVillageIdiot

+0

do u понял мой вопрос i вещь ур не ясный abt мой вопрос, и это не работает – unkown