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

javascript中传递多个变量的更简洁的方法,javascript,json,Javascript,Json,我正在将json结构中的以下变量传递到我的后端: <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="{{ se

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

<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>
每个项目都是一个搜索结果对象。是否有更清晰的方法将此数据传递到后端,或者这是建议的方法?

您可以使用不带参数的数据将所有数据属性合并为一个对象

console.log$'a.match-item'。数据
可以使用var data=$this.data;,获取元素上的所有数据属性;,这样,您就不必手动键入所有这些内容,我想现在大多数浏览器都这么认为,所以可能不需要jQuery。@MarkMeyer是的,但既然使用jQuery的OP似乎已经开始使用了that@charlietfl-谢谢,有没有办法在数据值中指定空值或真/假值?或者我需要对数据进行后处理吗?请参阅使用属性数据null和数据true进行编辑。如果需要,还可以使用$.extend与默认值合并needed@charlietflnull不是作为字符串null而不是类型null被拾取吗?或者,上述方法是否适用于正确的类型?
var data = new Object();

data.TVSeriesReleaseYear = $(this).data('tvseriesreleaseyear') || null;
data.CollectionName = $(this).data('collectionname') || null;
# ... etc ...
var jsonData = JSON.stringify(data)

$.post('{% url submit %}', jsonData, function () {
    ...
});