前后台交互其实都是通过servlet来实现的。 即servlet写数据给前台,前台展示。前台提交数据,servlet处理。 框架只是封装了servlet,提供了更加简便,更加好维护的集成模式。如果你很感兴趣框架的实现方式的话,你可以看看nutz的源代码。
ajax调用后台方法主要使用到url,返回值用data接受,success中回显到前台,例如我用maven搭建的springMVC项目中
1ajax的请求
2传到后台的值
3传回来的值,dataType是返回来的类型
你是说向后台发送还是从后台获取?
首先ajax不能发送字节流数据,如果要通过ajax获取的是的话,可以将数据进行base64编码,转成字符串再传输。浏览器可以直接使用这些数据显示的(IE6、7除外,IE8有限制)
可以先ajax请求,得到返回结果后渲染table
$get(url, function (result) {if (resultcode=='0000') {
var data = {total:resultdatatotalCount,rows:resultdatadataList};
$tablebootstrapTable({
data:data,
dataType: "json",
// data:jsondatadataList,
cache: false, // 不缓存
// height: getHeight(), // 设置高度,会启用固定表头的特性
striped: true, // 隔行加亮
})
}
}, "json")
使用第三方组件就要按照对方的格式返回数据,否则就在js里自己组装成需要的格式。
你的后台方法不能返回整个页面能容,只要返回字符串就好了。
$ajax({
type: "POST",
url: "/question/videoFormsrq",
data: "video_UserId="+userid+"&questionid="+questionid,
success: function(msg){
var host=windowparentlocationhost;
host=host+":8080"+msgurl;
windowopen(">
看代码,你请求的是当前页面,返回的数据肯定就是当前页面,包括html元素。
为了避免出现你不需要的内容,改成请求一个新的页面,内容如下:
<%@pagelanguage="java" pageEncoding="UTF-8" session="true" contentType="text/html; charset=UTF-8"
%>
<%
String d = requestgetParameter("div");
if(d!=null){
String a=(int)(Mathrandom()10)+"";
responsegetWriter()print(a);
}
%>
$ajax({
url: "testhtml",
cache: false,
success: function(html){
//这的html就是从后台返回过来的数据啦可以是html或json等
$("#results")append(html);
}
});
以上就是关于ajax怎样从后台获取数据进行局部刷新全部的内容,包括:ajax怎样从后台获取数据进行局部刷新、Ajax怎么调用后台方法,且获取该方法的返回值、ajax如何异步向后台获取字节流数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)