日期:2014-05-17  浏览次数:20740 次

jquery刷新div层问题(处女贴)
 index.jsp页面
<script type='text/javascript'>$().ready(function(){$('#sep-div-1').load('ajax.action',{t:1});});</script><div id='sep-div-1'></div>
xml文件
<action name="ajax" class="com.ajax" method="ajax">
<result name="success">indexList.jsp</result>
</action>
如果我用ajax提交则是进入indexList.jsp,如果我用以上的方式提交是返回到当前页面,谁能给我解释一下吗?
以下是ajax方式提交,这个我知道原因,希望有人能跟我解释一下用上面的方式提交为什么是返回到了当前页面!
 $(function(){
       $.ajax({   
              type:"post",     
              url:"ajax.action",   
              success:function(msg){   
                  $("#leftBox").html(msg); 
              },   
              error:function(){   
                  alert("wrong");   
              }   
          });       
});
------解决方案--------------------
com.ajax 执行之后跳转 indexList.jsp 是你自己定义好的呀
------解决方案--------------------
F12  调试看各自都返回什么。
------解决方案--------------------
load 数据没过来吧。
------解决方案--------------------
ajax.action 匹配到的不正是 com.ajax 吗?
------解决方案--------------------
引用:
Quote: 引用:

ajax.action 匹配到的不正是 com.ajax 吗?

??是的啊!后台返回了一个list,我把list数据在indexList.jsp页面显示!我是想加载到当前页面显示的,效果已经实现了,就是用load方法加载,只是我不知道原因!

<action name="ajax" class="com.ajax" method="ajax">
<result name="success">indexList.jsp</result>
</action>
你把这个result去掉不写也是对的,等于说它就没用,你在struts中处理异步请求的话,要么让你package继承extends="json-default",并且result的type设为Json,要么你在Action中直接return null,用response.getWriter().write就可以把数据发到前台了。建议你用后一种,很方便,在struts.xml定一个空action(只需要入口),不需要result,在action中return null,struts本身对Ajax的支持就不好。
------解决方案--------------------
引用:
Quote: 引用:

<action name="ajax" class="com.ajax" method="ajax">
<result name="success">indexList.jsp</result>
</action>
你把这个result去掉不写也是对的,等于说它就没用,你在struts中处理异步请求的话,要么让你package继承extends="json-default",并且result的type设为Json,要么你在Action中直接return null,用response.getWriter().write就可以把数据发到前台了。建议你用后一种,很方便,在struts.xml定一个空action(只需要入口),不需要result,在action中return null,struts本身对Ajax的支持就不好。

去掉是不行的吧?因为我返回的数据要在indexList.jsp页面显示,不返回到那个页面的话我用load加载是没有内容显示的,我现在困惑是在于为什么用load加载后能够将indexList.jsp里的类容给加载到当前页面!

你页面还跳转为什么还要用AJAX呢 搞不懂。AJAX的目的就是不刷新页面获取数据。而且后台回来的数据默认都是在当前页面的。
------解决方案--------------------<