当我使用Javascript时,我的HTML内容不会显示

时间:2012-06-05 11:12:50

标签: javascript jquery ajax

当我使用脚本从使用ajax获取特定网址的内容时,我的HTML内容不会显示,即我的表格元素没有显示:我从指定网址获取数据,并在警报中显示框,并使用document.write在页面上写入来自我调用的网址的数据:

<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

3 个答案:

答案 0 :(得分:5)

页面加载完成后,不应使用

document.write。如果你调用它,它将隐式调用document.open,这会使页面空白并创建一个新文档。

答案 1 :(得分: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>

答案 2 :(得分:0)

不要使用document.write,因为它不会起作用和错误。

相反,在HTML中添加一些占位符元素,然后分配响应:

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

这会将响应放在元素中定义为:

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

另请注意,您只能将请求发送到与其中包含AJAX代码的页面相同的域下的页面。 (Same Origin Policy