1

誰かがこの問題で私を助けることができますか?POSTをクリックすると、返されたデータがコンテンツdivを更新することになっています。しかし、常に「405メソッドが許可されていません」というエラーメッセージが表示されます。

main.py:

# -*- coding: utf-8 -*-
#!/usr/bin/env python2.7

import webapp2
import os
from google.appengine.ext.webapp import template

class Main(webapp2.RequestHandler):
    def get(self):
        render(self, 'base.html', {})

class Form(webapp2.RequestHandler):
    def get(self):
        render(self, 'form.html', {'name': 'get'})
    def post(self):
        render(self, 'form.html', {'name': 'post'})

def render(handler, infile, template_values):
    path = os.path.join(os.path.dirname(__file__), 'templates/', infile)
    handler.response.out.write(template.render(path, template_values))

app = webapp2.WSGIApplication([
    ("/form", Form),
    ("/.*", Main)],
    debug=True)

base.html:

...
<body>

<div id="content">
{% include "form.html" %}
</div>

<script>
function submitForm() {
    $.ajax({
        type: "POST",
        url: $(this).attr('action'),
        data: $(this).serialize(),
        cache: false,
        success: function(returnData){
            $("#content").html(returnData);
        }
    });
}
</script>

</body></html>

form.html:

<form  id="submitForm" action="/form" enctype="multipart/form-data">
  name: <input type="text" name="abcd" />{{ name }}<br /><br />
      <input type="button" value="Submit" onclick="return submitForm()" />
</form>
4

1 に答える 1

1

問題が解決しました:$(this)を$('#submitForm)に変更するだけです

于 2012-12-12T01:34:15.637 に答える