比较来自世界各地的卖家的域名和 IT 服务价格

如何编码期间 URLs 在 Javascript?

信息 SO 下面是详尽的,但所有三种描述的方法都没有被编码。

信息:
https://coderoad.ru/332872/
例如,如果我开始三种方法 /例如, escape, encodeURI, encodeURIComponent/, 它们都不是编码时段。

因此, "food.store" 出来 "food.store", 违反了什么 URL. 他打破了 URL, 因为应用程序 Rails 无法识别 URL 有效并显示错误页面 404. 也许文件中的配置错误 Rails routes?

如何最好地编码期间 Javascript 为了 URLs?
已邀请:

八刀丁二

赞同来自:

我知道这是一个旧话题,但我在这里没有见过 URLs, 这导致了初始问题。 几天前我自己遇到了这么出现了这个问题 Java. 在我的情况下,具有点的字符串在路径的元素的末尾 URL, 例如。

http://myserver.com/app/servlet/test.string
在这种情况下,图书馆 Spring, 我使用的是哪个,只通过了一部分 'test' 此行在我的类控制器方法的相应注释参数中,可能是因为它被认为是 '.string' 喜欢文件扩展并删除它。 也许这是最基本的问题是上面的初始问题?

无论如何,我能够绕过它,只是添加斜形特质 trailing 到 URL. 我只是把它扔在那里,以便它会派上辅助某人。

约翰

八刀丁二

赞同来自:

期间不应该破裂 url, 但我不知道你是如何使用这个时期的,所以我真的不能说。 我没有针对我已知的函数". "为了 url, 这意味着您必须使用自己的代码来编码。".".

您可以...吗 base64 编码数据,但我不相信有自己的母语方式 js. 您还可以替换其等效的所有周期。 ASCII /%2E/ 两者都在客户端和服务器的一侧。

原则上,通常不需要编码".", 因此,如果您需要这样做,您需要提出自己的决定。 也许你也想进行进一步的测试来确保". " 真的休息 url.

NTN。

小姐请别说爱

赞同来自:

我有同样的问题 .htaccess 打破输入值 .
因为我不想改变我所做的事 .htaccess, 我用它来解决它:


var val="foo.bar";
var safevalue=encodeURIComponent/val/.replace//\./g, '%2E'/;


它使所有标准编码,然后替换 . 通过 there ascii 相等的 %2E. PHP 自动转换回来 . 在意思中 $_REQUEST, 但 .htaccess 没有看到他作为一个时期,所以一切都很好。

知食

赞同来自:

期间不必编码 URLs.
http://tools.ietf.org/html/rfc3986#page-11
RFC, 值得一看到。

如果点 - 这是一种类似的东西 "breaking", 也许你的服务器做了自己的解释。 URL, 当然,什么是好的,但这意味着当您自己的元字符需要屏蔽时,您应该提出某种编码方案。

喜特乐

赞同来自:

我有同样的问题,也许我的决定可以帮助未来别人。

在我的情况下 url 是使用的 javascript. 期间用于分离值 url /
http://sling.apache.org/docume ... .html
/, 因此,选择器本身不允许具有期间。

我的决定是取代本质的所有时期 html, 如图所示

如图。 1

:

绘画 1: 决定


var urlPart = 'foo.bar';
var safeUrlPart = encodeURIComponent/urlPart.replace//\./g, '.'//;

console.log/safeUrlPart/; // foo%26%2346%3Bbar
console.log/decodeURIComponent/safeUrlPart//; // foo.bar

帅驴

赞同来自:

如果有可能,使用该文件 .htaccess 它会让它真的很酷,很容易。 只是补充. \ 在此期间。 有点:
\.

龙天

赞同来自:

我有问题 .s 在 rest api URL。 他们被解释为扩张的事实正是这一事实,它以自己的方式有意义。 逃避没有帮助,因为在呼召之前没有eSqueened /如已经注意到了/. 添加 trailing / 也没有帮助。 我通过作为命名参数传递价值而走来走去。 例如,OT api/Id/Text.string 到 api/Id?arg=Text.string. 您需要更改控制器上的路由,但处理程序本身可能保持不变。

江南孤鹜

赞同来自:

这是问题 rails, 厘米。
https://coderoad.ru/5222760/
解释 /和 Rails 路由指南,部分 3.2/

要回复问题请先登录注册