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弹出窗口代码大全(详细整理)
Dec 21 Javascript
用javascript为页面添加天气显示实现思路及代码
Dec 02 Javascript
JavaScript如何实现组合列表框中元素移动效果
Mar 01 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 Javascript
基于JavaScript 性能优化技巧心得(分享)
Dec 11 Javascript
详解Webpack实战之构建 Electron 应用
Dec 25 Javascript
基于Vue-cli快速搭建项目的完整步骤
Nov 03 Javascript
微信小程序搜索功能(附:小程序前端+PHP后端)
Feb 28 Javascript
微信小程序上线发布流程图文详解
May 06 Javascript
解决echarts图表使用v-show控制图表显示不全的问题
Jul 19 Javascript
解决vue下载后台传过来的乱码流的问题
Dec 05 Vue.js
vue+echarts实现多条折线图
Mar 21 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
杏林同学录(九)
2006/10/09 PHP
第十三节--对象串行化
2006/11/16 PHP
一个数据采集类
2007/02/14 PHP
php 不同编码下的字符串长度区分
2009/09/26 PHP
新手学习PHP的一些基础知识分享
2011/07/27 PHP
PHP和JavaScrip分别获取关联数组的键值示例代码
2013/09/16 PHP
PHP+jQuery实现滚屏无刷新动态加载数据功能详解
2017/05/04 PHP
载入进度条 效果
2006/07/08 Javascript
JavaScript入门教程(2) JS基础知识
2009/01/31 Javascript
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
js获取电脑分辨率的思路及操作
2013/11/22 Javascript
让jQuery Mobile不显示讨厌loading界面的方法
2014/02/19 Javascript
禁用页面部分JavaScript不是全部而是部分
2014/09/03 Javascript
JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
2015/02/03 Javascript
JavaScript中数组继承的简单示例
2015/07/29 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
2016/04/19 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
2020/11/16 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
Vue2 添加数据可视化支持的方法步骤
2019/01/02 Javascript
python实现封装得到virustotal扫描结果
2014/10/05 Python
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python科学计算之Pandas详解
2017/01/15 Python
Python找出最小的K个数实例代码
2018/01/04 Python
浅谈python之新式类
2018/08/12 Python
python实现写数字文件名的递增保存文件方法
2018/10/25 Python
Empty test suite.(PyCharm程序运行错误的解决方法)
2018/11/30 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
python实现简易版学生成绩管理系统
2020/06/22 Python
Python离线安装各种库及pip的方法
2020/11/28 Python
GUESS西班牙官方网上商城:美国服饰品牌
2017/03/15 全球购物
香港最大的洋酒零售连锁店:屈臣氏酒窖(Watson’s Wine)
2018/12/10 全球购物
自我评价范文
2013/12/22 职场文书
党员证明模板
2015/06/19 职场文书
vue中利用mqtt服务端实现即时通讯的步骤记录
2021/07/01 Vue.js
MySQL添加索引特点及优化问题
2022/07/23 MySQL