<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript" src="JS/jquery-1.3.2.1.min.js"></script>
    <script type="text/javascript">
        $.ajax({
            type: "Get",
            url: 'login.aspx',
            dataType: 'html',
            success: function(result) {
                document.body.innerHTML = result;
                //document.write(result);
            }
        });
    </script>
</head>
<body>
    <div>
    </div>
</body>
</html>如上,我的思想是,当用户没有登录的时候,我用ajax取得我登录页面的面容替换当前页面
那这里的success应该怎么写呢?谢谢

解决方案 »

  1.   

    那要看你返回的result怎么写了,个人觉得没有登录的时候就直接跳转就行了。
      

  2.   

    result 是整个login.aspx的html内容我想把整个网站后台程序都用这种ajax的方式放在一个页面里面来实现
      

  3.   

    <body  onload="你的ajax函数" >你可以在判读没有登陆后,直接跳到登陆页面啊
      

  4.   


            $.ajax({
                type: "Get",
                url: 'login.aspx',
                dataType: 'html',
                success: function(result) {
                    $("body").html(result);             
                }
            });
      

  5.   

    少一句:
         $.ajax({
                type: "Get",
                url: 'login.aspx',
                dataType: 'html',
                success: function(result) {
                    $("body").html("");//先清空 
                    $("body").html(result);           
                }
            }); 
      

  6.   

     $("body").html(result);  
    不行,这样只是将我的login.aspx的内容放到了原来页面的body中
    这样会造成
    <html>
    <body>
     <html>
      <body>
      </body>
     </html>
    </body>
    </html>
      

  7.   

    这个以前遇到过,很简单
    你把login.aspx里的多余的内容都去了,只留下登陆部分,例如
    login.aspx:
    <%@ page contentType="text/html; charset=utf-8" language="java" import="java.sql.*" errorPage=""%> 
    <%@ taglib uri="/fwars" prefix="fwars" %>
    <script type="text/javascript">
    </script>
    //头部可以保留
    //<html> 和<body>什么的都去掉,只留下要显示的部分
     
    <div>
    </div>
      

  8.   

    那你就不要用ajax了,直接把 login.aspx 你需要的内容 截取 出来 拼起来 如:
    var htmlContent = " login.aspx 中你需要的部分 "; //注意将""里面的""都改成‘’
    然后$("body").html(htmlContent);  
      

  9.   

    直接取body里的内容:$("body").html(result.match(/<body[^>]*>([\s\S]*)<\/body>/i)[1]); 
    //var str="<html><head><body onload='d'>这里是body的内容</body></head></html>";
    //alert(str.match(/<body[^>]*>([\s\S]*)<\/body>/i)[1]);
      

  10.   

    楼上的
    问题是:
    在我的login.aspx里面的header里面的怎么办呢?
      

  11.   


    //body
    //alert(result.match(/<body[^>]*>([\s\S]*)<\/body>/i)[1]);
    var head=result.match(/<head[^>]*>([\s\S]*)<\/head>/i)[1];//取出head内容
    head=head.replace(/<title[^>]*>(?:[\s\S]*)<\/title>/i,"");//去掉title的内容,你也可以不去掉
    $("head").append(head);//将head内容添加到head
      

  12.   

    你直接改当前页面的url不是更简单吗?无需替换啊
      

  13.   

    RE:你直接改当前页面的url不是更简单吗?无需替换啊
    -------------------------------------------
    这样就会进行跳转
    不是很好的用户体验
      

  14.   

    放个div,直接将返回结果放在div的innerHTML里。如果还涉及到head等其他内容,说明你的程序没有设计好