<span id="content"></span>
经过ajax异步读取数据库数据,用html()或append()数据到上面的ID中。我们在浏览器中可以看到数据,可是通过浏览器,源码查看, 确看不到到。请做出解释。谈谈你的看法。

解决方案 »

  1.   

    是因为浏览器记录的源码是 Ajax运行前的代码么? 
      

  2.   

    任何用js改变的html在源码中都看不到吧 不管是不是ajax获取到的
      

  3.   

    因为在ajax使用前页面就已经编译好了,浏览器显示的页面是经过编译后的效果,而ajax是属于异步的,它的使用不会促使页面重新编译。
      

  4.   

    html展示的是经过servelt容器编译好的页面源码,ajax是属于异步的,他不会重新编译啊
      

  5.   

    一个是静态文本,一个是动态文本.
    以前专门为这事折腾了好久.微软是为了说明他的webBrowser做的很好吧
      

  6.   

    动态将执行结果发给客户端 所以源码里看不到.继续反问你,ajax异步后,数据动态加载了。那么此页面后面调用一个js方法,查寻到返回来的html代码的一个ID,是可以得到的,没错。那么这些数据储存在什么地方呢?内存?IO缓存?
      

  7.   

    浏览器吧下载的html文件(这个是源文件吧)
    解析成当前页面的document(这个在内存里吧)
    之后的操作全是针对document的
      

  8.   

    只有ie是看不到的,其他浏览器都看得到。之所以源代码中看不到,是因为ie的src只会检索开始发送给ie的html字符串。而不会对更新内容有所体现哪怕是这样的代码,执行完后,看源文件都看不到生成的div。但是chrome和ff都可以看到
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-31j">
    <title>Insert title here</title>
    <script type="text/javascript">

    window.onload = function() {
    var div = document.createElement("div");
    div.innerHTML = "13123";
    document.body.appendChild(div);
    };
    </script>
    </head>
    <body></body>
    </html>
      

  9.   

    微软的面试?
    我想问下html() append()也好 是jQuery的吧?
    真对微软的面试没办法。。即使你不用ajax,用javascript来添加html也是“看不到”的。
    IE的查看源代码部分是在你load完之后就已经不做更新了。
    你通过js来操作html的时候不能驱动浏览器事件
      

  10.   

    浏览器能看到的是服务器返回给你的html内容,至于js操作后的跟服务器没有半毛钱关系,所以看不到
      

  11.   

    而且这个跟浏览器有很大关系阿,没有绝对的回答
    我们也可以做到把更新动态的信息显示在静态网页上
    只是那样点话,违背了ajax异步或者js的设计初衷---提高用户的网页效率
      

  12.   

    ie8 f12 /firefox firedebug /chrome ctrl+shift+i
      

  13.   


    有道理..你是ctrl+u看的,看不到,其实ctrl+shift+i是能看到的DOM的问题,可以仔细研究下。