我试着做了一下Jquery的ajax功能.
它里面有个$("#rightcontent").empty();
$.ajax({
  url:"user/login.aspx",
  cache: false,
  success: function(html){
  $("#rightcontent").append(html);
  }
});这样的函数用来实现加载实据.网站目录结构
website
 --index.aspx
  ----user[目录]
     ---login.aspx
  
我的问题是 比如网站根目录下的index.aspx
要加载根目录下的user目录的login.aspx到 index.aspx 页面上id为rightcontent的div层内.用上边的代码是可以实现把实现正确显示的..
但是我点击登陆后就出错了.
原因是路径问题因为用js加载内容到页面上来.index.aspx并不知道login.aspx文件是从哪里加载的..
所以就把login.aspx当成了网站根目录下的东西来看待..所以当点击登陆后就会提示出不到login.aspx如果把login.aspx文件放到与index.aspx同目录下..那么是可以正确运行的.试问有没有什么办法来克服这个缺点.
实在不想把所有东西都丢到同目录下呀...那样真的很难管理.

解决方案 »

  1.   

    似乎从根本上,也犯不上把登录页用AJAX拿过来的,只要用iframe就好了。
    所有技术都是用其当用,而不是一概而用的。
      

  2.   

    1.后台login.aspx在输出的时候,用后台程序将相对路径改为绝对路改,这样,以后无论把页面放在那个目录都可以了。
      

  3.   


    我知道可以用框架集来实现..只是想研究一下jquery的东西..发现了这个另人郁闷的问题.
    百度+google了好久..似乎没人发现有这个问题..可能是我关键字写得不得体吧.
    所以跑来这发个帖子...希望有高手来解答一下..框架集的加载方式比较原始...想去开创点新玩意.
      

  4.   


    不太懂三楼说是意思..
    比如说login.aspx页面上的按钮是这样定义的:
    <asp:Button ID="添加按钮" runat="server" Text="确认添加" onclick="添加按钮_Click" />
    这个按钮一点击..那么将触发的时page_load这一事件.
    但是当前页面(index.aspx)并不能在同目录下找到login.aspx.所以就报错.我的问题是如何让当前页面(index.aspx)自动识别那个 Button ID="添加按钮" 所在的login.aspx页面.
      

  5.   

    上面的写错了...应该是四楼...靠..
    这csdn出的啥毛病呀...
      

  6.   

    你可以修改加载进来的login.aspx生成的html中的表单提交的目标页面。
      

  7.   


    和八楼所说的一样..我也是这样做的...在login.aspx页面生成html
    然后再用post方式把表单发送到login.aspx这样来实现.
    这个有点像Discuz!NT的做法.