В моем приложении ASP.NET MVC я использую jQuery Treeview с расширением узла Async для построения дерева объектов Active Directory. Я кодирую идентификаторы каждого узла с Base64 из-за проблемы длины запроса. Например, в ответ на http://devel.local:49210/Domain/LeafExpand?root=source я получаю следующее:
[{"text":"DC=anusiewicz,DC=pl","id":"REM9YW51c2lld2ljeixEQz1wbA==","expanded":true,"children":[{"text":"CN=Builtin,DC=anusiewicz,DC=pl","id":"Q049QnVpbHRpbixEQz1hbnVzaWV3aWN6LERDPXBs","hasChildren":true},... etc.
но
в некоторых случаях после выбора узла, который имеет дочерний jQuery, вместо отправки запроса следующим образом:
http://devel.local:49210/Domain/ShowProperties/Q049R3J1cGEgeiByZXBsaWthY2oIGhhc2UIG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw=
отправляет так:
http://devel.local:49210/Domain/ShowProperties/Q049R3J1cGEgeiByZXBsaWthY2o/IGhhc2U/IG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw=
Дополнительные '/' заставляют веб-сервер генерировать ошибку 404. Почему это происходит?
вытащите == из идентификатора "REM9YW51c2lld2ljeixEQz1wbA ==". JQuery это не нравится. Это должно работать.