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 相关文章推荐
jQuery开发者都需要知道的5个小技巧
Jan 08 Javascript
按给定几率进行随机抽取的js代码
Dec 28 Javascript
JSON为什么那样红为什么要用json(另有洞天)
Dec 26 Javascript
JavaScript闭包函数访问外部变量的方法
Aug 27 Javascript
JavaScript实现找出字符串中第一个不重复的字符
Sep 03 Javascript
深入理解JavaScript系列(27):设计模式之建造者模式详解
Mar 03 Javascript
javascript模拟php函数in_array
Apr 27 Javascript
JavaScript闭包和范围实例详解
Dec 19 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
JS实现的DOM插入节点操作示例
Apr 04 Javascript
微信小程序网络封装(简单高效)
Aug 06 Javascript
vue 项目@change多个参数传值多个事件的操作
Jan 29 Vue.js
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
单位速度在实战中的运用
2020/03/04 星际争霸
linux下删除7天前日志的代码(php+shell)
2011/01/02 PHP
讲解WordPress中用于获取评论模板和搜索表单的PHP函数
2015/12/28 PHP
layui数据表格自定义每页条数limit设置
2019/10/26 PHP
用js实现输入提示(自动完成)的实例代码
2013/06/14 Javascript
javascript 获取元素样式必杀技
2014/05/04 Javascript
JavaScript实现更改网页背景与字体颜色的方法
2015/02/02 Javascript
js验证上传图片的方法
2015/05/12 Javascript
Bootstrap的Refresh Icon也spin起来
2016/07/13 Javascript
Node.js配合node-http-proxy解决本地开发ajax跨域问题
2016/08/31 Javascript
Angular服务Request异步请求的实例讲解
2018/08/13 Javascript
在微信小程序中保存网络图片
2019/02/12 Javascript
vue中的mescroll搜索运用及各种填坑处理
2019/10/30 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
详解vue中v-on事件监听指令的基本用法
2020/07/22 Javascript
JavaScript Array.flat()函数用法解析
2020/09/02 Javascript
[02:23]DOTA2英雄基础教程 幻影长矛手
2013/12/09 DOTA
python爬虫框架talonspider简单介绍
2017/06/09 Python
python实现坦克大战
2020/04/24 Python
python进行参数传递的方法
2020/05/12 Python
怎么解决pycharm license Acti的方法
2020/10/28 Python
Michael Kors澳大利亚官网:世界知名的奢侈饰品和成衣设计师
2020/02/13 全球购物
建筑专业自荐信
2013/10/18 职场文书
店长职务说明书
2014/02/04 职场文书
银行职员个人的工作自我评价
2014/02/15 职场文书
聚美优品恶搞广告词
2014/03/14 职场文书
优秀教师演讲稿
2014/05/06 职场文书
爱国主义教育活动总结
2014/05/07 职场文书
工会主席事迹材料
2014/06/03 职场文书
新教师岗前培训方案
2014/06/05 职场文书
淘宝活动总结范文
2014/06/26 职场文书
学校师德师风整改方案
2014/10/28 职场文书
综合管理员岗位职责
2015/02/11 职场文书
异地恋情人节寄语
2015/02/28 职场文书
2016会计专业自荐信范文
2016/01/28 职场文书
学会Python数据可视化必须尝试这7个库
2021/06/16 Python