Ajax与Python Pyramid的数据交互
到目前为止,我已经成功地把一些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
字符串转换成一个字典对象,这样我才能把它映射回我的数据库模型。我能想到一些很麻烦的方法来做到这一点,但最好的方法是什么呢?
1 个回答
0
你说你想把每一个请求参数的字符串转换成一个字典对象,但你真的是这个意思吗?看起来每个字符串其实只是一个键值对。
你可以很简单地用下面的方式从这些值创建一个字典:
opts = {}
for r in request.params:
parts = r.split(':', 1)
if len(parts) == 2:
opts[parts[0]] = parts[1]
else:
# some error condition