从li字符串创建JSON

时间:2017-04-04 11:46:07

标签: javascript jquery json

<div class="col-xs-4 no-padding contenteditable-color" style="background-color: transparent;">
     <ul class="ul-product">
         <li class="li-product-page cars contenteditable" contenteditable="false">qweryt</li>
     </ul>
</div>
<div class="col-xs-4 no-padding contenteditable-color" style="background-color: transparent;">
     <ul class="ul-product">
         <li class="li-product-page cars contenteditable" contenteditable="false">bbzzz</li>
     </ul>
</div>

我有多个li,我想得到所有并且用名字制作JSON&#39; cars&#39;。我尝试过这样的事情但是没有工作

$("li.cars").each(function() {
    var obj = {
        keywords: $("li.keywords").text()
    }
});

我想用AJAX将此JSON发送到服务器。

修改

这是ajax

var form = $('form')[0]; // You need to use standard javascript object here
            var data = new FormData(form);
                data.append('car', brand);
                data.append('keywords', arr);


            $.ajax({
                type:'POST',
                enctype: 'multipart/form-data',
                url:'myurl',
                data: data,
                processData: false,
                cache: false,
                contentType:false,
                success:function(response){
                    console.log(response);


                },
                 error: function(data){
                console.log("error");
                console.log(data);
                 }

            })

2 个答案:

答案 0 :(得分:0)

您可以创建一个对象,并在其关键字key中创建一个li值数组:

&#13;
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="col-xs-4 no-padding contenteditable-color" style="background-color: transparent;">
     <ul class="ul-product">
         <li class="li-product-page cars contenteditable" contenteditable="false">qweryt</li>
     </ul>
</div>
<div class="col-xs-4 no-padding contenteditable-color" style="background-color: transparent;">
     <ul class="ul-product">
         <li class="li-product-page cars contenteditable" contenteditable="false">bbzzz</li>
     </ul>
</div>
&#13;
{keywords: ["someval","anotherval"]}
&#13;
&#13;
&#13;

它会给你这样的东西:

var myJSON = JSON.stringify(obj);

你可以简单地在后端发送obj变量,json在后端发送它。

如果要将其发送到服务器,可以将其字符串化,如下所示:

IQueryable<TEntity>

答案 1 :(得分:0)

var items = [];

$('ul').children().each(function() {
  var $this = $(this);
  var item = { id: $this.attr('value'), title: $this.html() };
  items.push(item);
});

试一试......