У меня есть URL-адрес, который хранится как:
<cfset VisitURL = 'http://www.toysexample.com/search.aspx?searchBox=christmasgifts≠Sort=high&search=new' />
(Приведенная выше строка URL-адреса фактически исходит из поля базы данных, которое я не контролирую)
Когда я прошу cflocation
перейти по указанному выше URL-адресу, вот так:
<cflocation url="#EncodeForURL(VisitURL)#" addtoken="no" />
Он посещает URL-адрес как подпапку на моем сайте. Итак, я перехожу к URL http://www.volumeoneexample.com/http:/www.toysexample.com/search.aspx?searchBox=christmasgifts≠Sort=high&search=new
Как вы можете видеть, он убрал одну из косых черт в части http://
, а также добавил URL-адрес как папку на моем сайте. Я не понимаю, зачем он это делает?
EncodeForURL
, иначе он будет удален. - person volume one   schedule 14.11.2016?
, затем разделить оставшийся на первом=
после начала или после&
, а затем закодировать каждое из значений. тогда вам придется собрать все это вместе. - person Kevin B   schedule 14.11.2016URLEncodedFormat()
- это так CF 9.EncodeForURL()
- это новая популярность. Действуй сейчас.HTMLEditFormat()
иJSStringFormat()
также устарели в пользу новыхEncodeFor*
функций контекстного кодирования. - person Adrian J. Moreno   schedule 14.11.2016<cflocation url="#VisitURL#" addtoken="no" />
, тогда почему ColdFusion правильно посещает URL-адрес, но удаляет символ≠
? Почему он не может просто посетить данную ему строку? - person volume one   schedule 15.11.2016cflocation
. Я чувствую, что этого не должно происходить. - person volume one   schedule 16.11.2016<cflocation url="#VisitURL#" addtoken="no" />
, где кодирование НЕ выполняется, тег cflocation по-прежнему удаляет символ≠
, но ту же строку URL-адреса, которая находится в#VisitURL#
, можно легко посетить с помощью любого браузера. - person volume one   schedule 16.11.2016<cflocation url="#DecodeFromURL(EncodeForURL(VisitURL))#" addtoken="no" />
на данный момент. Думаю, это не лучший / правильный способ. - person volume one   schedule 16.11.2016