私は、Webサービスと、それはそのエラーを返す始めた突然のすべてを使用していたエラーNetworkError: 405 Method Not Allowed
Google App Engineの:
の原因は何を許可されていない405の方法。それは固定されないように維持されていません。私がこれについて何かできるかどうか不思議です。
問題のあるWebサービスのURLは次のとおりです。http://jsonpdb.appspot.com/add
私は、Webサービスと、それはそのエラーを返す始めた突然のすべてを使用していたエラーNetworkError: 405 Method Not Allowed
Google App Engineの:
の原因は何を許可されていない405の方法。それは固定されないように維持されていません。私がこれについて何かできるかどうか不思議です。
問題のあるWebサービスのURLは次のとおりです。http://jsonpdb.appspot.com/add
方法(GET/POST/HEADなど)あなたがそのURLに使用しようとしているが、アプリケーションによってサポートされていません。そのURLで使用しているメソッドをAPIが使用することを期待していますか?
よくある原因は、応答に間違った 'get' vs 'post'を使用していることです。何が送信されているか、ハンドラに正しいメソッドが表示されていることを確認します。
class MainHander(webapp.RequestHandler):
def get(self):
...
def post(self):
....
def delete(self):
....
もう1つの一般的な問題は、メインディスパッチセクションでは、URLを解析したが、その後、GETでそれらを供給されていない/ポスト/正規表現はそれで()
が...それはありますしてい
def main():
application = webapp.WSGIApplication(
[ (r'/upload/([^/]+)?/?', UploadFileHandler),
を削除以下のようなURLパスでパラメータ:/upload/filename
コードへのリンクを供給
class UploadFileHandler(webapp.RequestHandler):
def post(self, filename):
...
は参考になります。
私はこれが古いスレッドであることを知っていますが、私は自分自身の必要性についての質問に対して満足のいく答えを見つけられませんでした。
class MyHandler(webapp2.RequestHandler):
def __init__(self, request, response):
self.initialize(request, response)
#The dispatch is overwritten so we can respond to OPTIONS
def dispatch(self):
self.response.headers.add_header("Access-Control-Allow-Origin", "*")
if self.request.method.upper() == 'OPTIONS':
self.response.status = 204
self.response.write('')
else:
super(MyHandler, self).dispatch();
はい、そのAPIに:あなたはAJAXの応答を処理している場合は特に、あなたは明示的にカスタムwebapp2をハンドラの派遣でそれらをチェックしてOPTIONS要求を許可することができます。 addの例がapiで壊れているのが見えます:http://jsonpdb.appspot.com – mkoryak