到目前为止,我已经设法获取了一堆HTML元素,其contentEditable属性为True,并将它们的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
字符串转换为字典对象,因此我可以将其映射回我的数据库模型。我可以想到一些非常丑陋的方法,但最好的方法是什么?
答案 0 :(得分: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