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实现excel导出的方法
Apr 04 Javascript
jquery滚动组件(vticker.js)实现页面动态数据的滚动效果
Jul 03 Javascript
javascript dom追加内容实现示例
Sep 21 Javascript
图片上传插件jquery.uploadify详解
Nov 15 Javascript
Javascript改变CSS样式(局部和全局)
Dec 18 Javascript
javascript实现简单的二级联动
Mar 19 Javascript
JS处理json日期格式化问题
Oct 01 Javascript
JavaScript实现同时调用多个函数的方法
Nov 09 Javascript
利用jQuery实现滑动开关按钮效果(附demo源码下载)
Feb 07 Javascript
javascript 中Cookie读、写与删除操作
Mar 29 Javascript
JavaScript之排序函数_动力节点Java学院整理
Jun 30 Javascript
JS异步执行结果获取的3种解决方式
Feb 19 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中目录,文件操作详谈
2007/03/19 PHP
PHP生成月历代码
2007/06/14 PHP
php生成缩略图的类代码
2008/10/02 PHP
PHP连接MySQL的2种方法小结以及防止乱码
2014/03/11 PHP
WordPress伪静态规则设置代码实例
2020/12/10 PHP
JS实多级联动下拉菜单类,简单实现省市区联动菜单!
2007/05/03 Javascript
ext 列表页面关于多行查询的办法
2010/03/25 Javascript
超越Jquery_01_isPlainObject分析与重构
2010/10/20 Javascript
jQuery链使用指南
2015/01/20 Javascript
JavaScript检查弹出窗口是否被阻拦的方法技巧
2015/03/13 Javascript
使用js获取地址栏参数的方法推荐(超级简单)
2016/06/14 Javascript
快速解决js动态改变dom元素属性后页面及时渲染的问题
2016/07/06 Javascript
浅谈Cookie的生命周期问题
2016/08/02 Javascript
jQuery Easyui DataGrid点击某个单元格即进入编辑状态焦点移开后保存数据
2016/08/15 Javascript
javascript 动态样式添加的简单实现
2016/10/11 Javascript
vue构建单页面应用实战
2017/04/10 Javascript
微信小程序wx.getImageInfo()如何获取图片信息
2018/01/26 Javascript
使用vue打包时vendor文件过大或者是app.js文件很大的问题
2018/06/29 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
vue input实现点击按钮文字增删功能示例
2019/01/29 Javascript
vue使用better-scroll实现滑动以及左右联动
2020/06/30 Javascript
Vue 组件的挂载与父子组件的传值实例
2020/09/02 Javascript
VUE UPLOAD 通过ACTION返回上传结果操作
2020/09/07 Javascript
Python 学习笔记
2008/12/27 Python
Python OS模块常用函数说明
2015/05/23 Python
python实时检测键盘输入函数的示例
2019/07/17 Python
python logging模块书写日志以及日志分割详解
2019/07/22 Python
python使用gdal对shp读取,新建和更新的实例
2020/03/10 Python
解决TensorFlow调用Keras库函数存在的问题
2020/07/06 Python
犹他州最古老的体育用品公司:Al’s
2020/12/18 全球购物
高一物理教学反思
2014/01/24 职场文书
公务员试用期满考核材料
2014/05/22 职场文书
通信工程专业求职信
2014/06/04 职场文书
公司晚宴祝酒词
2015/08/11 职场文书
干货:如何写好观后感 !
2019/05/21 职场文书
导游词之长城八达岭
2019/09/24 职场文书