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 回答