用jquery的ajax向前台提交数据
2017-05-28 23:39
169 查看
在进行数据库操作的时候基本都会进行前后台的交互,那么就会用到ajax技术,在action层,需要将返回来的集合或是数组转换成json,方便前台取出,下面是代码
@Override
public String execute() throws Exception {
//1 调用Service根据typecode获得数据字典对象list
List<BaseDict> list = baseDictService.getListByTypeCode(dict_type_code);
//2 将list转换为 json格式
String json = JSONArray.fromObject(list).toString();
//3 将json发送给浏览器,这个是处理中文乱码问题的
ServletActionContext.getResponse().setContentType("application/json;charset=utf-8");
//将service层返回来的数据,传到页面
ServletActionContext.getResponse().getWriter().write(json);
return null;//告诉struts2不需要进行结果处理
}
下面的是前台做下拉列表的js代码:
//使用ajax加载数据字典,生成select
//参数1: 数据字典类型 (dict_type_code)
//参数2: 将下啦选放入的标签id
//参数3: 生成下拉选时,select标签的name属性值
//参数4: 需要回显时,选中哪个option
function loadSelect(typecode,positionId,selectname,selectedId){
//1 创建select对象,将name属性指定
var $select = $("<select name="+selectname+" ></select>");
//2 添加提示选项
$select.append($("<option value='' >---请选择---</option>"));
//3 使用jquery 的ajax 方法,访问后台Action
$.post("${pageContext.request.contextPath}/BaseDictAction", { dict_type_code:typecode},
function(data){
//遍历
//4 返回json数组对象,对其遍历
$.each( data, function(i, json){
// 每次遍历创建一个option对象
var $option = $("<option value='"+json['dict_id']+"' >"+json["dict_item_name"]+"</option>");
if(json['dict_id'] == selectedId){
//判断是否需要回显 ,如果需要使其被选中
$option.attr("selected","selected");
}
//并添加到select对象
$select.append($option);
});
},"json");
//5 将组装好的select对象放入页面指定位置
$("#"+positionId).append($select);
}
@Override
public String execute() throws Exception {
//1 调用Service根据typecode获得数据字典对象list
List<BaseDict> list = baseDictService.getListByTypeCode(dict_type_code);
//2 将list转换为 json格式
String json = JSONArray.fromObject(list).toString();
//3 将json发送给浏览器,这个是处理中文乱码问题的
ServletActionContext.getResponse().setContentType("application/json;charset=utf-8");
//将service层返回来的数据,传到页面
ServletActionContext.getResponse().getWriter().write(json);
return null;//告诉struts2不需要进行结果处理
}
下面的是前台做下拉列表的js代码:
//使用ajax加载数据字典,生成select
//参数1: 数据字典类型 (dict_type_code)
//参数2: 将下啦选放入的标签id
//参数3: 生成下拉选时,select标签的name属性值
//参数4: 需要回显时,选中哪个option
function loadSelect(typecode,positionId,selectname,selectedId){
//1 创建select对象,将name属性指定
var $select = $("<select name="+selectname+" ></select>");
//2 添加提示选项
$select.append($("<option value='' >---请选择---</option>"));
//3 使用jquery 的ajax 方法,访问后台Action
$.post("${pageContext.request.contextPath}/BaseDictAction", { dict_type_code:typecode},
function(data){
//遍历
//4 返回json数组对象,对其遍历
$.each( data, function(i, json){
// 每次遍历创建一个option对象
var $option = $("<option value='"+json['dict_id']+"' >"+json["dict_item_name"]+"</option>");
if(json['dict_id'] == selectedId){
//判断是否需要回显 ,如果需要使其被选中
$option.attr("selected","selected");
}
//并添加到select对象
$select.append($option);
});
},"json");
//5 将组装好的select对象放入页面指定位置
$("#"+positionId).append($select);
}
相关文章推荐
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- 页面编码为GBK时 jquery 提交ajax数据完美解决"中文乱码"方案
- jquery ajax post提交数据乱码
- ajax 提交 form 表单中的数据 用jquery
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- 终于搞定了jquery的ajax提交数据
- JQuery使用Ajax同步提交数据
- 用ajax提交数据到后台,并且把计算结果从后台把数据转到前台(该过程不刷新页面)
- .NET ScriptManager PageMethod的应用 一次提交多行数据 (感觉像jquery 的$.ajax)
- 以申购单为实例,讲解Jquery动态删减行,新增行添加鼠标事件,子窗口与父窗口传值,自动计算金额,及输入值的验证,前台数据批量提交到后台action
- 用Jquery实现可编辑表格并用AJAX提交到服务器修改数据
- JQuery使用Ajax同步提交数据
- 使用Jquery实现可编辑的表格 并使用AJAX提交到服务器修改数据
- jQuery 学习笔记四 Ajax提交数据
- Jquery和 LigerUI 用Post\Get\Ajax调用数据前台实例!
- JSONP解决跨域提交数据(jquery jsonp Ajax)
- 使用jquery.form.js的ajaxsubmit方法提交数据的Bug
- jquery中ajax方法提交数据时,中文乱码问题解决。