2010-05-12 61 views
1

在我的ASP.NET MVC應用程序中,我使用jQuery Treeview和異步節點擴展來構建Active Directory對象樹。由於請求長度問題,我使用Base64對每個節點的id進行了編碼。例如,在響應爲http://devel.local:49210/Domain/LeafExpand?root=source我得到如下:jquery base64問題異步樹視圖

http://devel.local:49210/Domain/ShowProperties/Q049R3J1cGEgeiByZXBsaWthY2oIGhhc2UIG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw= 

將其發送:

[{"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/Q049R3J1cGEgeiByZXBsaWthY2o/IGhhc2U/IG5hIGtvbnRyb2xlcmFjaCBST0RDLENOPVVzZXJzLERDPWFudXNpZXdpY3osREM9cGw= 

附加的'/'會導致web se rver生成404錯誤。這是爲什麼發生?

+0

Dunno。試圖將id映射到應用程序的內部? Base64並不是有史以來最短的編碼。 – Will 2010-05-12 17:27:38

+0

它與某些波蘭語字母表有關,例如使用System.Text.UnicodeEncoding將編碼爲R2/ – anusiak 2010-05-12 18:19:43

+0

而不是System.Text.UTF8Encoding解決了問題,但編碼後的字符串更長。你說得對,Base64很糟糕:] – anusiak 2010-05-12 18:24:21

回答

0

取出ID「REM9YW51c2lld2ljeixEQz1wbA ==」。 jQuery不喜歡這些。它應該工作。