我正在用python为Google app Engine创建一个web应用程序。第一条路线工作正常,加载主页:
@app.route('/')
def index():
return render_template('index.html')
我ndex.html包含一个表单供用户上传文件。现在,这是一个单页应用程序,因此表单通过javascript重定向到要提交的不可见iframe。当python处理完文件后,iframe会调用父文档中的函数来更改显示的内容。
重定向表单的Javascript函数:
function redirect(elemid, tgt, sh1, sh2){
document.getElementById(elemid).target = tgt;
document.getElementById(elemid).submit();
var callFunction;
callFunction = show_and_hide(sh1, sh2);
}
处理提交表单的烧瓶路径:
@app.route('/upload', methods=['POST'])
def upload_file():
#do something with file...
return response
有两件事很奇怪:(1)这一切都可以在localhost上正常工作。表单重定向到iframe并提交,处理文件,响应触发父文档的操作。只是gae似乎对它不起作用。(2) 当我从upload\u file()函数中删除所有内容,使其只返回“hello world”时,仍然没有发生任何事情。我还有第二个函数,它隐藏upload div并显示加载屏幕,它可以工作,但之后什么都没有。
我以前在一个php站点上使用过app engine,它需要我的应用程序。yaml将为我的应用程序上的每个文件提供说明,但由于只有一个页面可加载,我的应用程序。yaml文件仅包含以下内容:
runtime: python37
env_variables:
CLOUD_STORAGE_BUCKET: mybucket.appspot.com
还有,我的要求。txt填写如下:
Flask == 1.1.1
Flask-SQLAlchemy == 2.4.0
matplotlib == 3.1.1
NumPy == 1.17.2
SciPy == 1.3.1
google-cloud-storage==1.13.2
gunicorn==19.9.0
我怀疑这与app有关。yaml和iframes,但我不知道如何解决这个问题(或者这是否就是问题所在)。
我真的很感激任何帮助!提前感谢您!
更新:我向index.html添加了一个表单,该表单采用相同的操作和方法,但不重定向到iframe作为测试。当我提交此表单时,我收到消息,“内部服务器错误-服务器遇到内部错误,无法完成您的请求。服务器过载或应用程序中存在错误。”
更新2:当我从/上传路由中删除所有代码并将其更改为“hello world”时,它确实会返回“hello world”。
更新3:当我检查iframe元素时,可以看到它有一条消息说“请求实体太大,您的客户端发出的请求太大”。
看来我误解了这个问题。GAE不允许文件上传
https://cloud.google.com/appengine/docs/standard/python/blobstore/
问题内容: 我正在学习AngularJS,有一件事让我很烦。 我用来为我的应用程序声明路由规则: 但是当我在浏览器中导航到我的应用程序时,我看到的不是。 所以我的问题是为什么AngularJS将此hash添加到url中?有可能避免它吗? 问题答案: 实际上,对于非HTML5浏览器,您需要#(#标签)。 否则,他们将只通过提到的href对服务器进行HTTP调用。#是一个旧的浏览器短路问题,它不会触发
问题内容: 我正在学习AngularJS,有一件事让我很烦。 我用来为我的应用程序声明路由规则: 但是当我在浏览器中导航到我的应用程序时,我看到的不是。 所以我的问题是为什么AngularJS将此哈希添加到url中?有可能避免它吗? 问题答案: 实际上,对于非HTML5浏览器,您需要#(#标签)。 否则,他们将只通过提到的href对服务器进行HTTP调用。#是一个旧的浏览器短路问题,它不会触发请求
我已经从3.11切换到Openshift 4.3。我在3.11中使用了入口,并包含了tls。hosts部分使用默认名称空间中的默认证书,这样创建的路由将得到保护。 但在4.3中,不允许添加此“tls.hosts”部分。那么,如果没有这一部分,我如何获得安全路线?有办法吗?或者我必须使用路线?4.3中的入口如下 我在创建入口时没有看到任何错误,但它创建的路由不安全。它 http://xxxxxx/a
问题内容: 我想为瘦客户端开发html5 SPA应用程序。无法在其上启动任何Web服务器。如果没有Web服务器,我将无法使路由工作。 我的index.html 我的app.js 我正在Chrome的计算机上本地测试此代码。数据绑定的工作原理很吸引人,但无法链接到登录页面。它通向{X}:\ login。所以我的问题是:是否可以使其与Web服务器一起使用?其次,我想完成它所缺少的是什么? 问题答案:
我试图使用react router将props从app.jsx传递到某个路由组件,但出现以下错误
有人知道怎么解决这个问题吗?