我尝试使用js脚本从html表单获取输入,并使用以下两段代码将其传递给web.py控制器:
$(document).on("submit", "#register-form", function(e){
e.preventDefault();
var form = $("#register-form").serialize();
$.ajax({
url: '/postregistration',
type: 'POST',
data: form,
success: function(response){
console.log(response);
}
});
});
和
class PostRegistration:
def POST(self):
data = web.data()
return data.username
此处还有我试图访问的字段
<div class="form-group label-static is-empty">
<label for="username" class="control-label">Username</label>
<input id="username" class="form-control" type="text" name="username" placeholder="Choose a username" />
</div>
脚本传递的数据与jquery api页面上显示的格式相同,python代码与我见过的所有示例代码相同,但代码抛出了&#34; 500 - 内部服务器错误&#34;其中说&#34;属性错误:&#39;字节&#39;对象没有属性&#39;用户名&#39;&#34;
如何访问序列化方法输出的各个值?
编辑:这不是重复,因为我试图在不使用json的情况下获取帖子数据,但这很好。看起来这里的问题是这两段代码:
class PostRegistration:
def POST(self):
data = web.data()
return data.username
和
class PostRegistration:
def POST(self):
data = web.data().username
return data
不等同。第一个抛出500错误,第二个抛出我想要的。谁能解释为什么?