我有一个这种类型的简单形式
<form name="keywords" action="www.mydomain.com:6161/articles" method="post">
<input type="text" name="keyword" />
<input type="submit" name="submit" value="Submit" />
</form>
用于处理表格的Express 4路线如下
app.post('/articles', routes.article.keyword);
实际路径文件包含以下内容
exports.keyword = function(req,res,next){
res.send(req.body.keyword);
};
基于以上情况,当我在浏览器中发布表单时,我看到一个页面“地址未被理解”。
但是,如果我在表单操作中使用相对URL,即
它完美无缺。为什么这样?
因为实际上,我有时可能不得不将数据发布到不同的域或URL。
答案 0 :(得分:0)
我会发表评论作为答案,因为它有所帮助。
为了使操作起作用,您需要指定包含架构的完整URL:
def get_date(file_name):
DATE_RE = re.compile('([0-9]{6})') #EDITED - TYPO
try:
match = DATE_RE.search(fname).group()
except AttributeError:
sys.stderr.write('ERROR! No date matches string!\n\t' + match)
else:
date = datetime.datetime.strptime(match, '%Y%m%d')
return match, date
date_string, current_date = get_date(fname)
# fname is a given file name (e.g. bla150420.txt)
pattern1 = re.compile(re.sub(date_string, '(.*)', fname))
# pattern1 returns value 'kds_docs-(.*).zip'
pattern2 = re.compile('kds_docs-(.*).zip')
if os.path.isdir(dirname):
matching_files = [x for x in os.listdir(dirname)
if pattern1.search(x)]
或者您可以使用相对网址:
<form name="keywords" action="http://www.example.com/articles" method="post">
答案 1 :(得分:0)
相对路径是一个不以/(正斜杠)开头的...通常,这将尝试从当前网址的基础目录加载(您可以设置此在html中,虽然浏览器默认使用网址的&#39; dirname&#39;(例如&#39; img / something.gif&#39;在&#39; /some/path/index.html&页面上#39;将从/some/path/img/something.gif')中获取。
绝对路径是以/开头的路径。它将使用相同的模式,主机和可选的端口,用户等加载(完整的URL语法:scheme:[// [user:password @] host [:port]] [/] path [?query] [#片段] ...在这里阅读更多内容:https://en.wikipedia.org/wiki/Uniform_Resource_Locator)。
一个完整的网址是一个以模式开头的网站(http / https / ftp等...)...但是(这很方便):如果您将使用相同的模式(保持您网站的安全评分很高),您可以将其与冒号一起跳过。
例如:在查看来自&#39; https://blah.net&#39;的网站,并尝试从谷歌加载资源(可能是分析)时,您可以将其引用为:
&#39; // google.com/path/to/whatever'
如果页面是通过https加载的话,这将使用https;如果不是,则使用http ...使您不必确定渲染页面时使用的方案。