首頁 > web前端 > js教程 > 主體

jquery拼接ajax的json和字串的方法

小云云
發布: 2018-10-31 09:58:35
轉載
3303 人瀏覽過

整理文檔,搜刮出一個jquery拼接ajax 的json和字符串拼接的代碼,本文主要介紹了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;
    };

    $(&#39;#myForm&#39;).bind(&#39;submit&#39;,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")+&#39;=&#39;+$(this).val());
  }).get().join("&");
  alert(dataId);
  </script>
登入後複製

相關推薦:

##vue語法之拼接字串詳解

如何利用ajax給html動態拼接程式碼

vue中如何實作變數與字串拼接

本文來源:https://blog.csdn.net/lunhui1994_/article/details/54911845


以上是jquery拼接ajax的json和字串的方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:csdn.net
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板