0

我正在尝试通过 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', '')

如何在单个变量中发送该序列化字符串(这是一个查询字符串),以便我可以在服务器端捕获它。

注意:我想用上述序列化数据发送其他变量。

4

2 回答 2

0

您需要 URL-Encode serialized,然后您可以将其发送到单个变量中。

serialized = encodeURIComponent(serialized);
var link = "http://host.com/?data=" + serialized;
于 2012-11-23T13:26:27.323 回答
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', ',')
于 2012-11-23T13:31:19.213 回答