오류의 원인은 무엇입니까? NetworkError: 405 Method Not Allowed
Google 앱 엔진 : 405 메소드가 허용되지 않습니다.
웹 서비스를 사용하고 있는데 갑자기 오류가 반환되기 시작했습니다. 그것은 고정되지 않을 것이다 그래서 유지되지 않는다. 내가 이것에 관해 뭔가를 할 수 있는지 궁금하다.
문제가되는 웹 서비스 URL은 다음과 같습니다. http://jsonpdb.appspot.com/add
오류의 원인은 무엇입니까? NetworkError: 405 Method Not Allowed
Google 앱 엔진 : 405 메소드가 허용되지 않습니다.
웹 서비스를 사용하고 있는데 갑자기 오류가 반환되기 시작했습니다. 그것은 고정되지 않을 것이다 그래서 유지되지 않는다. 내가 이것에 관해 뭔가를 할 수 있는지 궁금하다.
문제가되는 웹 서비스 URL은 다음과 같습니다. http://jsonpdb.appspot.com/add
방법은 해당 URL에 사용하려는 (/ POST/HEAD 등 GET) 응용 프로그램을 지원하지 않습니다. 해당 URL에서 사용중인 방법을 API가 사용할 것으로 기대합니까?
가장 일반적인 원인은 응답에 잘못된 'get'vs 'post'를 사용하고 있기 때문입니다. 전송중인 내용과 처리기에 올바른 메서드가 표시되는지 확인합니다.
class MainHander(webapp.RequestHandler):
def get(self):
...
def post(self):
....
def delete(self):
....
또 다른 일반적인 문제는 주요 파견 섹션 URL을 구문 분석 가진, 그러나 가져 오기에서 그들을 제공하지 않습니다/후/정규식 그것에 ()
이 ... 그가 거기에있다
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