【发布时间】:2010-06-29 21:15:26
【问题描述】:
[更新如下]
我在 apache 上使用带有一些 javascript 书签功能的 mod_wsgi 部署站点时遇到了一点问题。问题是小书签(这是一个浏览器菜单按钮)提交到类似的页面
http://stemhub.org/submit/http://the-users-link.com/here
然后返回一个表单来保存有关链接的元数据。视图函数(flask/werkzeug 应用程序)检查数据库以查看是否已添加链接,然后返回带有预先存在或新分配的链接 id 的表单,我想这可能会触发某种时间问题.非常奇怪的是,当我第一次提交链接时,我得到了带有“未找到”apache 错误的http://stemhub.org/submit/http://the-users-link.com/here 页面,但是如果我随后重新加载页面,我会得到预期的表单。错误日志包含有关线程异常的消息,但当站点按预期运行时,它们也会包含这些消息。
在另一个端口上并行部署了应用程序 - stemhub.org:5000 - 在 Tornado 上运行并且工作正常,以及本地开发版本。
这里是小书签,如果它们是问题所在:
工作端口 5000 版本:
javascript:(function(){window.open('http://stemhub.org:5000/submit/'+encodeURIComponent(window.location.href),'height=200,width=150')}())
问题端口 80 版本:
javascript:(function(){window.open('http://stemhub.org/submit/'+encodeURIComponent(window.location.href),'height=200,width=150')}())
更新:由于某种原因属于另一个标签,将 javascript 方法 encodeURIComponent 更改为 encodeURI 可以使一切按预期工作,至少在 Firefox 和 Chrome 中是这样。不过,将来会采纳 Graham Dumpleton 的建议,做一些更明智的事情。
【问题讨论】:
标签: javascript apache deployment mod-wsgi bookmarklet