0
私はWebサーバーを構築するために竜巻を使用していますが、今はログインモジュールを作成しています。
竜巻投稿のリクエスト:引数がありません
<body>
<form id="uploadForm">
<div class="form-group">
<label for="exampleInputEmail1">Email address</label>
<input name="name" type="email" class="form-control" id="exampleInputEmail1" placeholder="Email">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input name="password" type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
</div>
<button id="submit" type="button" class="btn btn-default">Submit</button>
</form>
</body>
<script src="../js/plugins/jquery-3.2.1.min.js?v=c9f5aeeca3"></script>
<script src="../js/common/bootstrap.min.js?v=5869c96cc8"></script>
<script>
$(function(){
$('#submit').on('click',function(){
$.ajax({
url: 'http://www.example.com/login',
method: 'POST',
data: $('#uploadForm').serialize(),
contentType: false,
processData: false,
cache: false,
success: function(data) {
console.log(data);
if(data === 'ERROR'){
alert('login failed')
}else{
location.href = data;
}
},
error: function (jqXHR) {
alert('ERROR');
}
});
});
});
</script>
とバックエンド部分:
class LoginHandler(tornado.web.RequestHandler):
def post(self, path):
try:
print(self.request.body)
name = self.get_body_argument("name")
except Exception as e:
print(e)
私がテストを行うと、私はprint(self.request.body)
は私に結果与えることを見ることができます:b'name=test&password=tttt'
のが、その後、私は例外を取得ここでは、コードです:
HTTP 400:不正な要求(欠落している引数名)
name=test
はhttpの本体にありますが、引数名の不足をなぜ教えているのですか?