我正在尝试通过url中的查询字符串/变量发送序列化数据。如你所知,当我们在js中进行序列化时,它会自己构建一个查询字符串。我将这些数据发送到服务器端,用django编写。我该怎么做或如何收集django代码中的数据。
这就是我在做的事。
selected = $('input:checkbox:checked').serialize();
这给我的结果为multiselect_select_month=10&multiselect_select_month=11&multiselect_select_month=05
我想在带有其他变量的url中发送它,并在单个变量中收集孔字符串(multiselect_select_month=10&multiselect_select_month=11&
)。
像
serialized = 'multiselect_select_month=10&multiselect_select_month=11'
在服务器端,我正在写serialized = request.GET.get('serialized', '')
如何在单个变量中发送该序列化字符串(这是一个查询字符串),以便我可以在服务器端捕获它。
注意:我想用上面的序列化数据发送其他变量。
答案 0 :(得分:0)
您需要对代码serialized
进行网址编码,然后您可以将其发送到一个变量中。
serialized = encodeURIComponent(serialized);
var link = "http://host.com/?data=" + serialized;
答案 1 :(得分:0)
此代码将所有multiselect_select_month
值连接到1个参数中
(增加了显着减少参数长度的额外好处)
var multiSelects = [];
$('input:checkbox:checked').each(function(){
multiSelects.push(this.value);
});
var parameter = "?multiselect_select_month=" + multiSelects.join(',');
//Will return "?multiselect_select_month=10,11,05" instead of "multiselect_select_month=10&multiselect_select_month=11&multiselect_select_month=05"
然后,您可以在ultiselect_select_month
上获取explode
参数服务器端和','
:
string.split('10,11,05', ',')