在JavaScript中传递多个变量的更简洁方法

时间:2018-11-05 22:07:39

标签: javascript json

我将json结构中的以下变量传递给我的后端:

Height: 5
Width: 7
xoooxox
oxoxoxo
ooxoxoo
oxoxooo
xoxooox

在javascript中:

<a href="#;" class="match-item"

   data-reviewqueueid="{{ item.pk }}"
   data-useremail="{{ user.email}}"
   data-instanceid="{{ item.item_id }}"
   data-tracktitleid="{{ item.tracktitle_id }}"

   data-contenttype="{{ search_item.content_type_id }}"
   data-titleimdbid="{{ search_item.imdb_id }}"
   data-tvseriesimdbid="{{ search_item.imdb_series_id|default:'' }}"
   data-titlename="{{ search_item.name }}"
   data-titlereleaseyear="{{ search_item.release_year }}"
   data-ispartoftitle=""
   data-shouldbetvseries=""
   data-matchedfromimdb="{% if search_item.imdb_id and search_item.content_type_id != 'TV Series' %}true{% else %}{% endif %}"
   data-tvseriesname="{{ search_item.imdb_series.name }}"
   data-collectionepisodenumber=""
   data-collectionseasonnumber=""
   data-tvseriesreleaseyear=""
   data-collectionname="">
    Match
</a>

每个“项目”都是搜索结果对象。有没有更清晰的方法将此数据传递到后端,还是建议的方法?

1 个答案:

答案 0 :(得分:2)

您可以使用不带任何参数的data()来将所有数据属性组合为一个对象

console.log($('a.match-item').data())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<a href="#;" class="match-item"
   data-reviewqueueid="1"
   data-useremail="foo@bar.com"
   data-instanceid="2"
   data-tracktitleid="3"
   data-null="null"
   data-true="true"
>
    Match
</a>