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 chili图片远处放大插件
Nov 30 Javascript
用js来解决ajax读取页面乱码
Nov 28 Javascript
背景图跟随鼠标移动的Mootools插件实现代码
Dec 12 Javascript
javascript使用中为什么10..toString()正常而10.toString()出错呢
Jan 11 Javascript
javascript实现倒计时(精确到秒)
Jun 26 Javascript
jQuery解决$符号命名冲突
Jun 18 Javascript
JavaScript数据类型转换的注意事项
Jul 31 Javascript
jQuery的ajax中使用FormData实现页面无刷新上传功能
Jan 16 Javascript
AngularJS 防止页面闪烁的方法
Mar 09 Javascript
浅谈关于angularJs中使用$.ajax的注意点
Aug 12 Javascript
详解Vue+ElementUI从零开始搭建自己的网站(一、环境搭建)
Apr 30 Javascript
Taro小程序自定义顶部导航栏功能的实现
Dec 17 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数组函数
2008/08/18 PHP
解析PHP实现多进程并行执行脚本
2013/06/18 PHP
thinkPHP5分页功能实现方法分析
2017/10/25 PHP
基于jquery的当鼠标滚轮到最底端继续加载新数据思路分享(多用于微博、空间、论坛 )
2011/10/10 Javascript
jquery实现弹出层遮罩效果的简单实例
2014/03/03 Javascript
JS+CSS实现Li列表隔行换色效果的方法
2015/02/16 Javascript
详解JS中Array对象扩展与String对象扩展
2016/01/07 Javascript
浅谈JavaScript变量的自动转换和语句
2016/06/12 Javascript
jQuery实现的自定义滚动条实例详解
2016/09/20 Javascript
使用bootstrap实现多窗口和拖动效果
2016/09/22 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
JS中cookie的使用及缺点讲解
2017/05/13 Javascript
jQuery实现点击关注和取消功能
2017/07/03 jQuery
jQuery初级教程之网站品牌列表效果
2017/08/02 jQuery
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
开发Vue树形组件的示例代码
2017/12/21 Javascript
微信小程序上传图片功能(附后端代码)
2020/06/19 Javascript
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
原生js实现淘宝放大镜效果
2020/10/28 Javascript
js图数据结构处理 迪杰斯特拉算法代码实例
2019/09/11 Javascript
vuecli3.x中轻松4步带你使用tinymce的步骤
2020/06/25 Javascript
antd-日历组件,前后禁止选择,只能选中间一部分的实例
2020/10/29 Javascript
详细解析Python中的变量的数据类型
2015/05/13 Python
Python numpy 提取矩阵的某一行或某一列的实例
2018/04/03 Python
centos6.8安装python3.7无法import _ssl的解决方法
2018/09/17 Python
基于PyQt4和PySide实现输入对话框效果
2019/02/27 Python
keras使用Sequence类调用大规模数据集进行训练的实现
2020/06/22 Python
HTML5 通信API 跨域门槛将不再高、数据推送也不再是梦
2013/04/25 HTML / CSS
在HTML5中使用MathML数学公式的简单讲解
2016/02/19 HTML / CSS
孤独星球出版物:Lonely Planet Publications
2018/03/17 全球购物
The Kooples美国官方网站:为情侣提供的法国当代时尚品牌
2019/01/03 全球购物
质检的岗位职责
2013/11/17 职场文书
珠宝店促销方案
2014/03/21 职场文书
大学生社会实践自我鉴定
2014/03/24 职场文书
应届硕士毕业生自荐信
2014/05/26 职场文书
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python