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 相关文章推荐
js 代码优化点滴记录
Feb 19 Javascript
js根据给定的日期计算当月有多少天实现思路及代码
Feb 25 Javascript
自己实现ajax封装示例分享
Apr 01 Javascript
高效利用Angular中内置服务$http、$location等
Mar 22 Javascript
JS获取和修改元素样式的实例代码
Aug 06 Javascript
JS中数组重排序方法
Nov 11 Javascript
js倒计时小实例(多次定时)
Dec 08 Javascript
JS返回只包含数字类型的数组实例分析
Dec 16 Javascript
轻松理解Javascript变量的相关问题
Jan 20 Javascript
js实现日期显示的一些操作(实例讲解)
Jul 27 Javascript
AngularJS对动态增加的DOM实现ng-keyup事件示例
Mar 12 Javascript
JavaScript canvas基于数组生成柱状图代码实例
Mar 06 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
php UBB 解析实现代码
2011/11/27 PHP
php断点续传之如何分割合并文件
2014/03/22 PHP
php使用$_POST或$_SESSION[]向js函数传参
2014/09/16 PHP
PHP实现在线阅读PDF文件的方法
2015/06/23 PHP
浅谈关于PHP解决图片无损压缩的问题
2017/09/01 PHP
非常有用的40款jQuery 插件推荐(系列二)
2011/12/25 Javascript
关于jQuery $.isNumeric vs. $.isNaN vs. isNaN
2013/04/15 Javascript
通过AJAX的JS、JQuery两种方式解析XML示例介绍
2013/09/23 Javascript
js菜单点击显示或隐藏效果的简单实例
2014/01/13 Javascript
jQuery向后台传入json格式数据的方法
2015/02/13 Javascript
js实现鼠标移到链接文字弹出一个提示层的方法
2015/05/11 Javascript
JavaScript测试工具之Karma-Jasmine的安装和使用详解
2015/12/03 Javascript
JavaScript和jquery获取父级元素、子级元素、兄弟元素的方法
2016/06/05 Javascript
js实现无缝循环滚动
2020/06/23 Javascript
基于angular中的重要指令详解($eval,$parse和$compile)
2016/10/21 Javascript
jQuery实现可拖拽3D万花筒旋转特效
2017/01/03 Javascript
jQuery的中 is(':visible') 解析及用法(必看)
2017/02/12 Javascript
原生js实现仿window10系统日历效果的实例
2017/10/31 Javascript
vue实现自定义H5视频播放器的方法步骤
2019/07/01 Javascript
利用webpack理解CommonJS和ES Modules的差异区别
2020/06/16 Javascript
js实现页面导航层级指示效果
2020/08/25 Javascript
JS获取一个字符串中指定字符串第n次出现的位置
2021/02/10 Javascript
[50:58]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 Mineski vs EG
2018/04/03 DOTA
opencv python 2D直方图的示例代码
2018/07/20 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
基于Python实现拆分和合并GIF动态图
2019/10/22 Python
Django操作session 的方法
2020/03/09 Python
matplotlib.pyplot.matshow 矩阵可视化实例
2020/06/16 Python
python爬虫使用正则爬取网站的实现
2020/08/03 Python
丝芙兰香港官网:Sephora香港
2018/03/13 全球购物
美国礼品卡交易网站:Cardpool
2018/08/27 全球购物
实体的生命周期
2013/08/31 面试题
秋季校运动会广播稿
2014/02/23 职场文书
敲诈同学钱财检讨书范文
2014/11/18 职场文书
专业技术职务聘任证明
2015/03/02 职场文书