0

URL のクエリ文字列/変数を介してシリアル化されたデータを送信しようとしています。ご存じのとおり、js でシリアル化を行うと、クエリ文字列自体が作成されます。このデータをdjangoで書かれたサーバー側に送信しています。これを行うにはどうすればよいですか、またはdjangoコードでデータを収集するにはどうすればよいですか.

これが私がやっていることです。

selected = $('input:checkbox:checked').serialize();

これにより、次の結果が得られますmultiselect_select_month=10&multiselect_select_month=11&multiselect_select_month=05

multiselect_select_month=10&multiselect_select_month=11&これを url で他の変数とともに送信し、ホール文字列 ( ) を 1 つの変数にまとめたいと考えています。何かのようなもの

serialized = 'multiselect_select_month=10&multiselect_select_month=11'

サーバー側で私は書いていますserialized = request.GET.get('serialized', '')

サーバー側でそれをキャッチできるように、シリアル化された文字列(クエリ文字列)を単一の変数で送信するにはどうすればよいですか。

注意:上記のシリアル化されたデータとともに他の変数も送信したいと思います。

4

2 に答える 2

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 に答える
0

URL-Encode が必要serializedです。その後、単一の変数で送信できます。

serialized = encodeURIComponent(serialized);
var link = "http://host.com/?data=" + serialized;
于 2012-11-23T13:26:27.323 に答える