工作的时候看到有两种把页面上内容传递给Controller的方法,其中一种是传递对数据库的搜索条件,并且会根据搜索条件访问数据库,并将更新后的数据写在JqGrid表格里。另一种则是用于为数据库新增数据(或者修改删除)的时候用的。

为什么会用到两种方式以及两种方式的区别我还是不太能理解,所以就先把他们记录下来,等之后JavaScript的知识接触的多了应该就能读懂了吧。

其一 传递搜索条件

$("#newinsert").on("click",function(){if(!confirm("この内容を登録しますか?"))return;var data = {"ctgrCd" : $("#ctgrCd").val(),"ctgrNm" : $("#ctgrNm").val(),};$.ajax({type : "POST",url : /*[[@{/planCtgr/searchJson}]]*/'/planCtgr/searchJson',dataType : "json",data : JSON.stringify(dataWhere),contentType : 'application/json',success : function (data, status, xhr) {$("#tableDate").jqGrid("clearGridData");setGrid(data);$('reset').prop('disabled', false);setTimeout(function() {$("#overlay").fadeOut(300);},500);},error : function (XMLHttpRequest,textStatus, errorThrown) {alert("error:" + XMLHttpRequest + "/" + textStatus+ "/" +errorThrown );setTimeout(function() {$("#overlay").fadeOut(300);},500);}});

其二 传递更新,新增数据用于修改数据库内容

 $("#update").on("click", function() {if(!confirm("この内容を更新しますか?")) return;var $fm = $('#dataIstPost') //这是form表单的id$fm.append($('<input />', {id : 'detailData',type : 'hidden',name : 'data',value : JSON.stringify($('#dataIstPost').serializeArray())}));$fm.submit();}));

可以看到第二种的文字量会比第一种简单很多,目前猜想是,因为页面的内容不同所以需要应用到两种不同的方法,要不就是第一种方法可以在传递的同时判断成功与否并执行对应的操作。

以后应该就能看懂了吧,同时也希望有大神看到可以指点迷津。

//在今天的工作中发现有一点非常重要,虽然两种方法都是把数据传递到controller,但是第一种方法属于在js中使用controller,因此controller的返回值也只会返回到js中,而如果这时候js中没有接收返回值并进行处理的代码的话功能就没有办法正常实现。

而第二种方法,则是通过Js来控制HTML提交表单,因此不需要在js接收返回值,反而是需要在Controller中来控制返回的内容。(例如具体返回到那一页之类的)

之后会更新在Controller中的注释的不同。

小白编程笔记——JavaScript中两种把表单内容传递给Controller的方法相关推荐

  1. 两种自定义表单设计方案 [转贴]

    一直想搞定这个问题,最近在网络上搜索了一下查找些资料 最近参与一个项目,客户要求提供自定义表单的功能.主要的要求是:能够对表单的字段进行增删改,对显示表单的格式可以灵活定制.由于客户的表单变动可能比较 ...

  2. 转] 两种自定义表单设计方案

    无涯 原文 两种自定义表单设计方案 [原创] 2006-12 最近参与一个项目,客户要求提供自定义表单的功能.主要的要求是:能够对表单的字段进行增删改,对显示表单的格式可以灵活定制.由于客户的表单变动 ...

  3. PHP表单提交的方式有哪两种,form表单提交数据的几种方式

    一.submit提交 在form标签中添加action(提交的地址)和method(post),且有一个submit按钮()就可以进行数据的提交,每一个input标签都需要有一个name属性,才能进行 ...

  4. JavaScript中两种定时器和清除定时器的使用

    ​ 一.定义 定时器就是在一段特定的时间后执行某段程序代码. 二.定时器的使用 1.单次定时器(setTimeout) 以指定的时间间隔(时间单位为毫秒)调用一次函数的定时器. <script& ...

  5. matlab 遍历每个像素点,Mat中两种像素遍历方法比较

    小白,入门中,不足其指正.刚刚接触opencv,从一个Matlab风格的编程环境突然跳转到C++,实在有些不适.单就pixels scanning花了好长时间研究.opencv-tutorials给出 ...

  6. apache php 工作模式,PHP Apache中两种工作方式区别(CGI模式、Apache 模块DLL)

    搜索热词 对PHP在Apache中两种工作方式的区别(CGI模式.Apache 模块DLL)感兴趣的小伙伴,下面一起跟随编程之家 jb51.cc的小编两巴掌来看看吧! Windows 下有两种方法使 ...

  7. Spring中两种编程式事务管理

    Spring中两种编程式事务管理 在代码中显示调用beginTransaction,commit,rollback等与事务处理相关的方法,这就是编程式事务管理,当只有少数事务操作时,编程式事务管理才比 ...

  8. JS/JavaScript中两个等号 == 和 三个等号 === 的区别

    JavaScript中两个等号 == 和 三个等号 === 的区别 一.概念 == 和 ===  (1)  "=="叫做相等运算符,"==="叫做严格运算符. ...

  9. 函数指针--Nginx和Redis中两种回调函数写法

    1.Nginx和Redis中两种回调函数写法 #include <stdio.h>//仿Nginx风格 //结构外声明函数指针类型 typedef void (*ngx_connectio ...

最新文章

  1. 操作像素(一)--存取像素值
  2. H264解码的学习笔记
  3. bootstrap官网
  4. 设计模式:策略模式(Strategy)
  5. java 304_分析HTTP请求返回304状态码
  6. 嵌入式C开发中用到的位域结构体
  7. 内核中的内存申请:kmalloc、vmalloc、kzalloc、get_free_pages 之间的区别
  8. mysql显示百分比例_显示值mysql的百分比
  9. Android TextView文字横向自动滚动(跑马灯)
  10. 计算机网络专业以后装网线,宽带以后都不用装了? 将会被5G取代?
  11. Uva220 Othello
  12. 【2031】求一元三次方程的解
  13. STM32接入机智云--实现数据上传和命令下发
  14. 电脑断网情况下,自动连接wifi
  15. 获取当前时间,包括农历时间
  16. 积分?商城?积分商城你了解多少?
  17. Linux运维与架构工程实践
  18. jQuery---仿芒果网机票预定智能输入提示
  19. 计算机基础应用寒假作业,计算机应用基础理论试题寒假作业.doc
  20. 【Echarts】用echarts绘制饼图

热门文章

  1. 小虎的软考辅导视频讲座有啥与众不同?
  2. 三、软考·系统架构师——计算机网络基础
  3. 【MySQL】启动、数据库/数据表 创建/查看/删除
  4. java 字符串驻留_Java中的字符串驻留
  5. 怎么撰写一份优秀的数据分析报告(六)
  6. UE5 关闭编辑器后C++类从内容浏览器中消失
  7. pycharm 出现 No pyvenv.cfg file 错误怎么办
  8. pytorch load state dict_pytorch训练trick
  9. 【软件工程实践】Hive研究-Blog6
  10. java费诺编码_费诺编码的分析与实现.doc