PDA

View Full Version : Uri fragment Identifier is being escaped by framework



wadebee
15 Feb 2012, 2:32 PM
I have Ext.FormPanel code that calls back to the server with an update. I use a fragment identifier (http://www.w3.org/DesignIssues/Fragment)to indicate to the server that it should only update part of the resource (the fields available from this specific tab).




activeTab.getForm().submit({
url: 'Resource(' + resourceId + ')#' + activeTab.refName
, etc…
});



The problem is that ExtJS is encoding the fragment identifier separator (#) embedded in the url before sending the HTTP request.

The HTTP capture shows the effects (http://localhost/Resource(2218)%23ActiveTab) where the # has been encoded as %23.

This URL change is preventing my server-side code from matching the URI pattern and assigning the proper controller to handle the request.

My question: How do I prevent the fragment identifier separator (#) from being escaped?

Thanks!
Wade Bee

wadebee
16 Feb 2012, 11:43 AM
I traced the formPanel.submit call through the ExtJS framework down to where it hands off the request to the native browser object from Ext.lib.Ajax.asyncRequest and ExtJS is not the culprit in escaping the url.

The url encoding is happening in the native IHtmlXmlHttpRequest browser object therefore I retract my original question and will take up my beef in the MS support forums :))