jquery拼接ajax 的json和字符串拼接的方法


Posted in Javascript onMarch 11, 2017

整理文档,搜刮出一个jquery拼接ajax 的json和字符串拼接的代码,稍微整理精简一下做下分享。

jQuery拼接字符串ajax

<form id="myForm" action="#">
  <input name="name"/>
  <input name="age"/>
  <input type="submit"/>
</form>
<script src="http://cdn.static.runoob.com/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
  (function($){
    $.fn.serializeJson=function(){
      var serializeObj={};
      $(this.serializeArray()).each(function(){
        serializeObj[this.name]=this.value;
      });
      return serializeObj;
    };

    $('#myForm').bind('submit',function(e){
      console.log($(this).serializeJson())
    })
  })(jQuery)

</script>

或者直接用$(“#表单id”).serialize()直接序列化。。。

上面的插件,不能适用于有多个值的输入控件,例如复选框、多选的select。下面,我将插件做进一步的修改,让其支持多选。代码如下:

Js代码

(function($){
  $.fn.serializeJson=function(){
    var serializeObj={};
    var array=this.serializeArray();
    var str=this.serialize();
    $(array).each(function(){
      if(serializeObj[this.name]){
        if($.isArray(serializeObj[this.name])){
          serializeObj[this.name].push(this.value);
        }else{
          serializeObj[this.name]=[serializeObj[this.name],this.value];
        }
      }else{
        serializeObj[this.name]=this.value;
      }
    });
    return serializeObj;
  };
})(jQuery);

这里,我将多选的值封装为一个数值来进行处理。如果大家使用的时候需要将多选的值封装为“,”连接的字符串或者其他形式,请自行修改相应代码。

测试如下:

表单:

Html代码

<form id=”myForm” action=”#”>
      <input name=”name”/>
      <input name=”age”/>
      <select multiple=”multiple” name=”interest” size=”2″>
      <option value =”interest1″>interest1</option>
      <option value =”interest2″>interest2</option>
      <option value=”interest3″>interest3</option>
      <option value=”interest4″>interest4</option>
      </select>
      <input type=”checkbox” name=”vehicle” value=”Bike” /> I have a bike
      <input type=”checkbox” name=”vehicle” value=”Car” /> I have a car
      <input type=”submit”/>
      </form>

测试结果:

{age: “aa”,interest: ["interest2", "interest4"],name: “dd”,vehicle:["Bike","Car"]}

<form id="myForm" action="#">
  <input name="name" value="111"/>
  <input name="age" value="2222"/>
  <button type="submit">tijiao</button>
</form>
</body>

<script src="../js/jquery-1.11.0.min.js"></script>
<script>
  var dataId = $("#myForm input").map(function (){
    // return($(this).attr("id"));
    return($(this).attr("name")+'='+$(this).val());
  }).get().join("&");
  alert(dataId);
  </script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 二分法(数组array)
Apr 24 Javascript
javascript学习笔记(五)正则表达式
Apr 08 Javascript
Jquery中的CheckBox、RadioButton、DropDownList的取值赋值实现代码
Oct 12 Javascript
固定背景实现的背景滚动特效示例分享
May 19 Javascript
jQuery之尺寸调整组件的深入解析
Jun 19 Javascript
js点击出现悬浮窗效果不使用JQuery插件
Jan 20 Javascript
js实现二代身份证号码验证详解
Nov 20 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
Sep 04 Javascript
js判断文件格式及大小的简单实例(必看)
Oct 11 Javascript
vue.js实现格式化时间并每秒更新显示功能示例
Jul 07 Javascript
angular.js实现列表orderby排序的方法
Oct 02 Javascript
探索JavaScript中私有成员的相关知识
Jun 13 Javascript
jquery mobile实现可折叠的导航按钮
Mar 11 #Javascript
前端开发之CSS原理详解
Mar 11 #Javascript
JS实现简易刻度时钟示例代码
Mar 11 #Javascript
js鼠标跟随运动效果
Mar 11 #Javascript
详解微信开发中snsapi_base和snsapi_userinfo及静默授权的实现
Mar 11 #Javascript
基于Node.js的WebSocket通信实现
Mar 11 #Javascript
js原生Ajax的封装和原理详解
Mar 11 #Javascript
You might like
索尼ICF-SW100收音机评测
2021/03/02 无线电
基于文本的留言簿
2006/10/09 PHP
用ODBC的分页显示
2006/10/09 PHP
php将textarea数据提交到mysql出现很多空格的解决方法
2014/12/19 PHP
php源码之将图片转化为data/base64数据流实例详解
2016/11/27 PHP
PHP实现将base64编码字符串转换成图片示例
2018/06/22 PHP
JavaScript高级程序设计 读书笔记之九 本地对象Array
2012/02/27 Javascript
如何阻止复制剪切和粘贴事件为了表单内容的安全
2013/05/23 Javascript
遍历DOM对象内的元素属性示例代码
2014/02/08 Javascript
JavaScript中实现map功能代码分享
2015/06/11 Javascript
jQuery基于ajax实现带动画效果无刷新柱状图投票代码
2015/08/10 Javascript
js窗口关闭提示信息(兼容IE和firefox)
2015/10/23 Javascript
JQuery导航菜单选择特效
2016/04/11 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
Javascript中的数组常用方法解析
2016/06/17 Javascript
通过Ajax使用FormData对象无刷新上传文件方法
2016/12/08 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
jQuery+SpringMVC中的复选框选择与传值实例
2018/01/08 jQuery
JS严格模式知识点总结
2018/02/27 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
[02:19]DOTA2上海特级锦标赛 观赛指南 Spectator Guide
2016/02/04 DOTA
python共享引用(多个变量引用)示例代码
2013/12/04 Python
python爬虫教程之爬取百度贴吧并下载的示例
2014/03/07 Python
Python3.2中的字符串函数学习总结
2015/04/23 Python
HTML中使用python屏蔽一些基本功能的方法
2017/07/07 Python
Python实现端口检测的方法
2018/07/24 Python
Python当中的array数组对象实例详解
2019/06/12 Python
DHC中国官方购物网站:日本通信销售No.1化妆品
2016/08/20 全球购物
现代生活方式的家具和装饰:Dot & Bo
2018/12/26 全球购物
NICKIS.com荷兰:设计师儿童时装
2020/01/08 全球购物
高一物理教学反思
2014/01/24 职场文书
安阳殷墟导游词
2015/02/10 职场文书
2015年学校办公室主任工作总结
2015/07/20 职场文书
Go web入门Go pongo2模板引擎
2022/05/20 Golang
Spring IOC容器Bean的作用域及生命周期实例
2022/05/30 Java/Android