在项目中想添加一个select 它的值是从数据库中动态获取的,之前一直是把数据放到session中,可运行的结果总是不理想,因为我的页面是静态的,只有我每次重新打开一个浏览器后它才会为session重新赋值。
在同事的帮助下,动态的为select赋值,即在每次弹出dialog时动态为select赋值,其中的值是后台从数据库中取出封装为json数据传输过来的。
后台封装Json格式的数据函数:
@RequestMapping
public void getProjectsByUser(HttpServletRequest request, HttpServletResponse response) {
User user = (User)SecurityContextHolder.getContext().getAuthentication().getPrincipal();
Set<Project> finalCanAddProjects = userService.getCanRegProjects(user);
StringBuilder jsonBuilder = new StringBuilder("{list:[");
int i = 0;
for (Project project : finalCanAddProjects) {
i++;
jsonBuilder.append("{");
jsonBuilder.append("id:'");
jsonBuilder.append(project.getId());
jsonBuilder.append("', ");
jsonBuilder.append("name:'");
jsonBuilder.append(project.getName());
jsonBuilder.append("'");
jsonBuilder.append("}");
jsonBuilder.append(i == finalCanAddProjects.size() ? "" : ",");
}
jsonBuilder.append("]}");
MessageUtils.outputJSONResult(jsonBuilder.toString(), response);
}
在js中接受此数据:
function getProjectsByUser() {
$.getJSON(path+"/bio/studymanager/getProjectsByUser.do?dateTime=" + (new Date()).getTime(),
function(json) {
var options = "";
$.each(json.list, function(i, n) {
options += "<option value='"+n.id+"'>"+n.name+"</option>";
});
$('#projectIdSelect').html(options);
}
);
}
$.getJSON的api:http://www.iebe.cn/temp/jQuery_API/source/
$.getJSON.html
在$.getJSON(path+"/bio/studymanager/getProjectsByUser.do?dateTime=" + (new Date()).getTime(),之所以加时间参数,是为了防止浏览器缓存,如果不加此时间参数,当你第二次请求时浏览器就默认为数据没什么改变,而不进行请求。
function getStudyById(id, name, projectId, status, description) {
$('#studyId').val(id);
$('#studyName').val(name);
$('#studyStatus').val(status);
$('#studyDescription').val(description);
getProjectsByUser();
$('#projectIdSelect option').each(function(){
if ($(this).val()== projectId) {
$(this).attr('selected', 'selected');
}
});
$('#manageStudyDialog').dialog(manageStudyDialog);
$('#manageStudyDialog').dialog('open');
}
分享到:
相关推荐
这是一个 spring mvc 框架 封装了 前台表单转成json数据 传递到后台 控制层 接收 json 数据,可以支持批量添加数据的功能。
由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...
由于 JSON 天生是为 JavaScript 准备的,因此,JSON 的数据格式非常简单,您可以用 JSON 传输一个简单的 String,Number,Boolean,也可以传输一个数组,或者一个复杂的 Object 对象。 String,Number 和 Boolean ...
但是封装的框架是基于后台数据格式不会改变的情况,一旦后天返回的数据产生了变化,网络解析就会发生错误。 问题产生位置 所有设计到微信和支付宝两种支付方式共存的地方。 分析 当请求接口时支付宝返回的json如下...
先上效果图: 前端数据表格: <%-- 数据表格 --%> lay-filter=test> <thead>
get()方法是从服务器获得数据,其主要参数就是获得后台请求地址,以及负责处理的回调函数: $.get(URL,callback); $(button).click(function(){ $.get(demo_test.php,function(data,status){ alert
通常情况下我们会获取所选取行对象的ID,通过循环及简单封装拼凑成一个长String传送过去,并在Service层解释再通过findByID获取实例并update 但今次我们需要将整个对象群完整的传输至后台 其结构如下 选用谷歌...
json格式返回数据比较简单,直接将我们后台获取到的数据,以标准json格式返回给请求端即可 //按json格式返回数据 public static function json($code,$message,$data=array()){ if(!is_numeric($code)){ return '...
1:代码使用的是ASP.NET MVC ...3:仿百度搜索下拉建议提示内容的实现,里面的数据是从数据库中进行读取的,后台获取数据部分没有展现也没有上传,后台部分需要自己从数据库进行读取完善。返回响应的Json值进行展示。
工作中项目需求:读取用户上传的Excel文件,并将Excel转换为json数据格式,然后上传至后台数据库。 问题点:Filereader中new Filereader.onload = function()为异步回调函数,reader中获取到的数据无法传递到...
一般,后台应用程序将响应数据封装成JSON格式返回。 JSON的基本语法如下:JSON名称/值对。JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),然后着是一个冒号(:),最后是值。 JSON最常用的...
添加json-server 和mock.js 产生mock数据 添加后台的接口模拟假数据 2019-06-16 添加用户管理 添加基础表格封装 修复编译警告 添加echarts图表展示 2019-06-15 添加城市管理 添加訂單詳情 添加.gitignore文件 2019-...
前端:绘制界面Login.vue,并封装axios,在plugins/api.js,进行统一的错误处理,然后通过axios调用后台接口获得数据,登录成功之后需要获得用户名和token。 后端:统一返回JSON数据格式,在ResultDTO.java,数据...
需要后台提供json数据 ,旅游旅游网站,基于webpack,react,react-router,redux. 包含前端页面和/admin路由的后端页面 启动 运行:npm install安装依赖包 前端启动: gulp 或者 npm run dev 前端构建: gulp ...
在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。 在一...
本设计源码提供了一个基于Django和HTML的...该项目旨在为接入微信公众平台的Django开发者提供便捷的微信功能封装及最基本的后台管理支持。适合用于学习和实践Django、HTML和JavaScript技术,以及开发微信相关的应用。
在vue项目中,和后台交互获取数据这块,我们通常使用的是axios库,它是基于promise的http库,可运行在浏览器端和node.js中。他有很多优秀的特性,例如拦截请求和响应、取消请求、转换json、客户端防御XSRF等。所以...
之前分享了那么多bootstrap组件的使用经验,这篇文章打算研究下JS组件的扩展和封装,我们来感受下JQuery为我们提供$.Extend的神奇,看看我们怎么自定义自己的组件,比如我们想扩展一个$("#id").MyJsControl({})做...
node-express-mysqlnode.js通过 express框架创建后台项目,连接mysql数据实现用户的登录,注册,数据的增删改查 ,登录的token验证,图片上传,以及日志记录运行项目npm run dev ==>安装热更新插件 具体内容查看地址...
《精通JS脚本之ExtJS框架》由浅入深地讲解了ExtJS在Web开发中的相关技术。本书共分17章,分别介绍了JavaScript的对象编程、JavaScript浏览器对象模型和事件机制、ExtJS的核心类库和组件、ExtJS的事件处理方式、设计...