You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行多年的GAE旧应用突发404错误 无法读写地图标记且简化代码报405

故障修复方案

根因说明

  • 404报错:app.yaml仅配置了根路径/的转发规则,所有对/details.txt的请求未匹配到任何handler,直接被Google App Engine返回404,没有进入mainapp.py的路由逻辑。
  • 405报错:生产环境使用POST请求提交数据,但Details请求处理类仅实现了get()方法,没有对应处理POST请求的post()方法,webapp2框架默认返回405方法不允许错误。

修复步骤

1. 更新app.yaml路由规则

修改handlers配置,让所有路径请求都转发到mainapp.app处理:

runtime: python27
threadsafe: true

handlers:
- url: /.*
  script: mainapp.app

basic_scaling:
  max_instances: 1
  #idle_timeout: 5m

2. 新增POST请求处理逻辑

在mainapp.py的Details类中新增post()方法,可直接复用GET逻辑:

class Details(webapp2.RequestHandler):
    def get(self):
        logging.info("Details:  ")
        action = self.request.get("Action", "Detail")
        logging.info("action: %s " % (action))
        self.response.out.write("pin in")
    
    def post(self):
        self.get()

3. 修复示例代码前端逻辑错误(可选)

提供的index.html示例中存在变量未定义问题,可按需修正:

function process(form) {
    // 原代码form.data.value不存在,输入框name为name
    var name = escape(form.name.value);
    var url = "details.txt?Action=add&name=" + name;
    // 其余原有逻辑保持不变

验证

修改完成后在本地SDK测试,/details.txt路径的GET、POST请求均可正常响应,无404、405错误。

内容的提问来源于stack exchange,提问作者zerowords

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:06:02