В приложении GWT
я пытаюсь открыть Window
, передавая url
, который содержит параметры запроса. Бывает, что один параметр имеет имя: deg_test
, поэтому сформированный URL-адрес выглядит примерно так: http://localhost:8888/mymodule/search?param1=value1¶m2=value2°_test=123
.GWT Window.open в IE 11 неверно интерпретирует параметр запроса & deg = 123
В Chrome
и Firefox
окно открывается, как и ожидалось, однако в IE 11
°_
часть неверно истолкованы в °
и преобразуется в символ степени (º) и разбивает URL!
Пример:
String query = "?param1=value1¶m2=value2°_test=123";
com.google.gwt.user.client.Window.open("http://localhost:8888/mymodule/search"
+ URL.encode(query), "_blank", "resizable=yes"
IE URL окна: http://localhost:8888/mymodule/search?param1=value1¶m2=value2°_test=123
Если я использую URL.encodeQueryString
метод вместо URL.encode
как ?
и &
будут закодированы и сервер будет жаловаться с 404
Спасибо! В самом деле, предлагаемое обходное решение будет работать, однако правда заключается в том, что в реальном приложении у меня есть несколько параметров «deg _...», которые произвольно добавляются в качестве параметров запроса, поэтому это в конечном итоге не решает мою проблему. Я отвечу на ваш ответ, но я боюсь, что не могу принять его в качестве решения. – pleft
На самом деле ваша ссылка на другой вопрос заставила меня решить мою проблему. Большое спасибо, отметив это как правильный ответ! – pleft