1

これまでのところ、contentEditable 属性が True である一連の HTML 要素を取得し、それらの ID と HTML データを結合して Ajax データ文字列を作成することができました。シリアル化されたデータをサーバーに戻すことができます。問題ありません。例えば、

$(document).ready(function(){
    $("#save").click(function(){
        var ajax_string = ''
        $( "[contenteditable=True]" ).each(function( intIndex ){
            ajax_string = ajax_string + '&' + $("[contenteditable=True]")[intIndex].id + ':' + $(this).html();
        });
        $.ajax({
            type:"POST",
            url:"/episode_edit/{{ episode.ID_Episode }}",
            data:ajax_string,
            success:function(result){
                <!--alert( ajax_string );-->
                }
        });
    });
});

サーバー上:

for r in request.params: print r

私は文字列を取得します:

AltTitle:some Alt Title
PrintTitle:The Print Title
Notes:A bunch o' notes.

私のジレンマは、各request.param文字列をディクショナリ オブジェクトに変換する必要があるということです。これにより、それをデータベース モデルにマップし直すことができます。これを行う非常に醜い方法をいくつか考えることができますが、最良の方法は何ですか?

4

1 に答える 1

0

request.param 文字列を辞書オブジェクトに変換したいということですが、それは本当ですか? 各文字列は単なるキーと値のペアのようです。

以下を使用して、これらの値から辞書を簡単に作成できます。

opts = {}
for r in request.params:
    parts = r.split(':', 1)
    if len(parts) == 2:
        opts[parts[0]] = parts[1]
    else:
        # some error condition
于 2011-06-07T06:21:07.837 に答える