ajax,jquery,$.post/$.get异步刷新div,局部刷新页面

Action为struts2<aciton="Action"class="XX.XX.XX"><request>a.jsp</request></action>... Action为struts2 <aciton="Action" class="XX.XX.XX">
<request>a.jsp</request>
</action>
展开
 我来答
帐号已注销
2020-02-26 · TA获得超过77.1万个赞
知道小有建树答主
回答量:4168
采纳率:93%
帮助的人:167万
展开全部

代码:

$.ajax({

type: "POST",

url: "getPageDate.php", //调用的php文件

data: "page=1",

success: function(msg){ //回调函数

alert( "Data Saved: " + msg ); //这里是操作

$("#content").html(

);

}

});

success:function(data){//后台处理数据成功后的回调函数

//  在这里执行对页面的数据刷新

$("div .a").html(data);

}

data:就是这次请求返回的a.jsp页面

$("div .a"):就是页面上那个<div id='a' class='a'></div> 

$("div .a").html(data):就就是将a.jsp 页面放入到 class=a 的div中!

扩展资料:

当使用 CSS-P 的时候, 主要把它用在 DIV(division)tag 上。当把文字,图像,或其他的放在 DIV 中,它可称作为“DIV block”,或“DIV element”或“CSS-layer”,或干脆叫“layer”。所以把它称作“层次”。所以当看到这些名词的时候,就知道它们是指一段在 DIV 中的 HTML。

使用 DIV 的方法跟使用其他 tag 的方法一样:

如果单独使用 DIV 而不加任何 CSS-P, 那么它在网页中的效果和不使用是一样的。

参考资料来源:百度百科-DIV

redf2000
推荐于2017-10-10 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:44.1万
展开全部
借助jquery框架完成ajax是非常容易的,代码如下:
 
$.ajax({
    url:'Action',//你对数据库的操作路径
    data:{//这是参数
    id:1,
    name:'zhangsan'
    },
    type:'post',//提交方式
   // dataType:'json',//返回数据的类型
    success:function(data){//后台处理数据成功后的回调函数
       // alert(data);
     //  在这里执行对页面的数据刷新
     $("div .a").html(data);
    },
    error:function(data){//后台处理数据失败后的回调函数
     //   alert(data)
    }
})

这个是ajax的完整版,希望对你有帮助

更多追问追答
追问
我是想返回一个页面,放入a.div中! 不是想再a.div中html("在把a.jsp写一遍"),懂我的意思了吧!
追答
  success:function(data){//后台处理数据成功后的回调函数
       //  在这里执行对页面的数据刷新
     $("div .a").html(data);
    }

这里面 

data:就是这次请求返回的a.jsp页面

$("div .a"):就是页面上那个<div id='a' class='a'></div> 

$("div .a").html(data):就就是将a.jsp 页面放入到 class=a 的div中!

本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
蛋哥的龙叔
2013-08-14 · 超过17用户采纳过TA的回答
知道答主
回答量:45
采纳率:0%
帮助的人:46.1万
展开全部

楼主看我的

$("#_b").click(function () {
  $.ajax({
      type: "POST",
      url: "youaction.action",
      data: "name=" + var1 + "&time=" + var2,
      dataType: "json",
      success: function(responseText) {
          var valA = responseText.fieldA;
          var valB = responseText.fieldB;
          $("#a").load("a.jsp");
      },
      error: function() {
          alert("Error!");
      }
  });  
});

struts2配置:
<package name="xxx" extends="json-default">
<action name="youaction" namespace="/" class="xxx" method="methodA"> <!-- 不需要result -->
</action>
</package>



你在action的class里面最后返回的时候也不需要return "success";
用 public void methodA(){};
最后结尾的时候这样返回数据到前台:
PrintWriter w = response.getWriter(); //HttpServletResponse
w.write("xxxx"); // json text
w.flush();
w.close();
更多追问追答
追问
能再细一点么,   var valA = responseText.fieldA;与var valA = responseText.fieldA; 这俩是什么意思,能备注一下不!  还有就是 不用.load()方法能实现不, .load()这个方法的兼容性不高!
w.write("xxxx"); xxxx是什么意思啊
追答
w.write("xxx");是你想返回到前台的数据,用json格式写比如{"filedA":"valA","fieldB":"valB"},然后你在前台, var valA = responseText.fieldA;与var valA = responseText.fieldA; 这就是后台的两个值,可以在action执行完之后使用了,就这么简单

如果你不想用load,那你就把页面在action里面读出来用json返回到前台,不过要注意的是你的html里面肯定有很多特殊符号,返回之前需要转义一下,java.net.UrlEncoder.encode(yourHtmlString, "UTF-8"); 然后前台需要用$("#a").html(responseText.yourHtmlString);
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式