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 设置SELECT选中项代码
Feb 07 Javascript
node.js使用require()函数加载模块
Nov 26 Javascript
javascript框架设计读书笔记之种子模块
Dec 02 Javascript
node.js中的path.dirname方法使用说明
Dec 09 Javascript
javascript函数式编程实例分析
Apr 25 Javascript
jQuery实现右下角可缩放大小的层完整实例
Jun 20 Javascript
AngularJS基础 ng-mouseleave 指令详解
Aug 02 Javascript
angular.js之路由的选择方法
Sep 24 Javascript
微信小程序 Template详解及简单实例
Jan 05 Javascript
详解Vue webapp项目通过HBulider打包原生APP(vue+webpack+HBulider)
Feb 02 Javascript
使用mixins实现elementUI表单全局验证的解决方法
Apr 02 Javascript
微信小程序实现同一页面取值的方法分析
Apr 30 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
YII路径的用法总结
2014/07/09 PHP
PHP实现无限分类的实现方法
2016/11/14 PHP
PHP实现驼峰样式字符串(首字母大写)转换成下划线样式字符串的方法示例
2017/08/10 PHP
JavaScript 验证浏览器是否支持javascript的方法小结
2009/05/17 Javascript
纯Javascript实现Windows 8 Metro风格实现
2013/10/15 Javascript
avalon js实现仿google plus图片多张拖动排序附源码下载
2015/09/24 Javascript
js实现文字闪烁特效的方法
2015/12/17 Javascript
jQuery实现的瀑布流加载效果示例
2016/09/13 Javascript
模板视图和AngularJS之间冲突的解决方法
2016/11/22 Javascript
html5+CSS 实现禁止IOS长按复制粘贴功能
2016/12/28 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
javascript闭包功能与用法实例分析
2017/04/06 Javascript
利用node.js爬取指定排名网站的JS引用库详解
2017/07/25 Javascript
微信小程序云开发之新手环境配置
2019/05/16 Javascript
Javascript通过控制类名更改样式
2019/05/24 Javascript
LayUI动态设置checkbox不显示的解决方法
2019/09/02 Javascript
jQuery 查找元素操作实例小结
2019/10/02 jQuery
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
详解如何修改 node_modules 里的文件
2020/05/22 Javascript
Python字符和字符值(ASCII或Unicode码值)转换方法
2015/05/21 Python
Python引用计数操作示例
2018/08/23 Python
Pytorch实现GoogLeNet的方法
2019/08/18 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
python对输出的奇数偶数排序实例代码
2020/12/04 Python
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
美国在线健康和美容市场:Pharmapacks
2018/12/05 全球购物
史上最全面的Java面试题汇总!
2015/02/03 面试题
简历里的自我评价范文
2014/02/24 职场文书
高校教师岗位职责
2014/03/18 职场文书
2014年社区综治工作总结
2014/11/17 职场文书
电台广播稿范文
2015/08/19 职场文书
使用vue-element-admin框架从后端动态获取菜单功能的实现
2021/04/29 Vue.js
MySQL修改默认引擎和字符集详情
2021/09/25 MySQL
微信小程序中使用vant框架的具体步骤
2022/02/18 Javascript