【发布时间】:2011-03-02 20:26:18
【问题描述】:
这有什么问题? .serialize() 什么都不返回。我已经尝试了几种方法来做到这一点,但最终都是空字典。表单,输入,#idofform,#idofinput,什么都没有发生......
$(document).ready(function(){
$.post("/resultjs/", $("form").serialize(), function(data) {
$('.content').html(data);
});
});
...和 html。只是一个普通的简单形式。完全清楚:我想从表单中收集帖子数据,将它们发布到 /resultjs/ (django),检索结果并将其写入 .content div
<div id="search">
<form action="/resultjsall/" method="post"><div style='display:none'><input type='hidden' name='csrfmiddlewaretoken' value='somedjangocsrftoken' /></div>
<input type="text" name="what" id="what" value="" size="80" />
<input type="submit" value="Find" />
</form>
</div>
【问题讨论】:
-
您的表单内容是什么?仅支持部分表单元素。
-
此外,如果您有超过 1 个表单,这将序列化所有表单中的数据并将其聚合为单个字符串。通常不是您想要的,因为您只提交一个表单。
-
如果您在文档准备好时运行它,您的表单可能是空的,所以很可能您最终会发送变量但没有值(即
.serialize()将返回类似 @ 987654324@) -
记住序列化是基于表单中输入元素的 name 而不是 id,就像平常一样...确保输入在表单中有
name属性 -
@Dan 我认为你应该发表你的评论作为答案
标签: jquery ajax django serialization