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 EasyUI 使用介绍
Apr 01 Javascript
JavaScript中的对象序列化介绍
Dec 30 Javascript
javascript+ajax实现产品页面加载信息
Jul 09 Javascript
js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解
Apr 01 Javascript
JS实现保留n位小数的四舍五入问题示例
Aug 03 Javascript
使用Angular.js实现简单的购物车功能
Nov 21 Javascript
jquery插件锦集【推荐】
Dec 16 Javascript
D3.js进阶系列之CSV表格文件的读取详解
Jun 06 Javascript
Vue侧滑菜单组件——DrawerLayout
Dec 18 Javascript
微信小程序日期时间选择器使用方法
Feb 01 Javascript
详解JavaScript 作用域
Jul 14 Javascript
详解vue父子组件状态同步的最佳方式
Sep 10 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
phpmyadmin 常用选项设置详解版
2010/03/07 PHP
str_replace只替换一次字符串的方法
2013/04/09 PHP
destoon之一键登录设置
2014/06/21 PHP
PHP获取当前所在目录位置的方法
2014/11/26 PHP
PHP全局变量与超级全局变量区别分析
2016/04/01 PHP
PHP简单读取PDF页数的实现方法
2016/07/21 PHP
php实现数组纵向转横向并过滤重复值的方法分析
2017/05/29 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
Jquery原生态实现表格header头随滚动条滚动而滚动
2014/03/18 Javascript
Javascript window对象详解
2014/11/12 Javascript
详解JavaScript数组的操作大全
2015/10/19 Javascript
JQuery.Ajax()的data参数类型实例详解
2015/11/20 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
jQuery easyui的validatebox校验规则扩展及easyui校验框validatebox用法
2016/01/18 Javascript
nodejs body-parser 解析post数据实例
2017/07/26 NodeJs
JS实现生成由字母与数字组合的随机字符串功能详解
2018/05/25 Javascript
在node中使用jwt签发与验证token的方法
2019/04/03 Javascript
使用vue实现多规格选择实例(SKU)
2019/08/23 Javascript
原生JavaScript写出Tabs标签页的实例代码
2020/07/20 Javascript
[01:08:32]DOTA2-DPC中国联赛 正赛 DLG vs PHOENIX BO3 第二场 1月18日
2021/03/11 DOTA
Python实现监控程序执行时间并将其写入日志的方法
2015/06/30 Python
python xml.etree.ElementTree遍历xml所有节点实例详解
2016/12/04 Python
Python基于回溯法子集树模板解决0-1背包问题实例
2017/09/02 Python
Python面向对象之接口、抽象类与多态详解
2018/08/27 Python
Python列表常见操作详解(获取,增加,删除,修改,排序等)
2019/02/18 Python
Python集成开发工具Pycharm的安装和使用详解
2020/03/18 Python
详解python tkinter包获取本地绝对路径(以获取图片并展示)
2020/09/04 Python
解决pytorch下出现multi-target not supported at的一种可能原因
2021/02/06 Python
CSS3标注引用的出处和来源的方法
2020/02/25 HTML / CSS
伦敦高达60%折扣的钻石珠宝商:Purely Diamonds
2018/06/24 全球购物
销售行业个人求职自荐信
2013/09/25 职场文书
教师年终个人自我评价
2013/10/04 职场文书
怎样写留学自荐信
2013/11/11 职场文书
2014幼儿园保育员工作总结
2014/11/10 职场文书
从事会计工作年限证明
2015/06/23 职场文书
2015年环境监察工作总结
2015/07/23 职场文书