官术网_书友最值得收藏!

Encoding and decoding URL data

Two-way conversion between objects and URL data is a challenge that Ext JS can help with. Let's examine how a JavaScript object can be encoded for transmission through the URL query string, as well as how information contained in a URL can be used to build a JavaScript object.

How to do it...

The following steps will guide you through the process of encoding and decoding URL data:

  1. Take a selectedColors object as the data to be passed in a URL:
    var selectedColors = {color1:'Blue', color2:'Red', color3:'White'};
    
  2. Convert the object to URL data like this:
    var encodedUrl = Ext.urlEncode(selectedColors);
    // encodedUrl is an encoded URL query string:
    //color1=Blue&color2=Red&color3=White.
    
  3. Now, a URL can be built using the data just created. For example, http://MyGreatApp/SetSelectedColors?color1=Blue&color2=Red&color3=White.
  4. You can easily create objects from the encoded URL. Assuming we obtained the data from the URL we used above (http://MyGreatApp/SetSelectedColors?color1=Blue&color2=Red&color3=White), obtain the URL data like this:
    encodedUrl = location.search;
    
  5. Re-create the selectedColors object as follows:
    var selectedColors = Ext.urlDecode(encodedUrl); 
    // Now the value of selectedColors' color1 property is 'Blue',
    // color2's value is 'Red' and color3's value is 'White'.
    

How it works...

Ext.urlEncode(object) and Ext.urlDecode(string, overwrite) provide object serialization to URL data and URL data deserialization to objects respectively. Encoding is accomplished by creating the URL query string's key-value pairs based on each object property, or array value passed to the encoding function. Decoding is accomplished by creating an object with a property for each key-value pair that exists in the URL's query string.

There's more...

You can use this recipe when your application needs to send information to the server via AJAX or standard HTTP requests, as well as when you need to use the URL's query string to feed the application data that can later be converted to JavaScript objects.

See also...

  • The Encoding and decoding JSON recipe, covered earlier in this chapter, explains how to convert JavaScript objects to JSON and how to convert JSON to JavaScript objects.
主站蜘蛛池模板: 泗水县| 吉林市| 崇礼县| 怀柔区| 鄄城县| 北辰区| 邓州市| 嵩明县| 宽城| 进贤县| 宽甸| 博野县| 绩溪县| 新建县| 荣昌县| 莱阳市| 江西省| 永春县| 澄迈县| 裕民县| 乳源| 上饶县| 天镇县| 巩留县| 固安县| 托里县| 余干县| 阳城县| 阳东县| 德化县| 遵义市| 南乐县| 江城| 宜城市| 武邑县| 横峰县| 宁海县| 庆阳市| 泉州市| 张家界市| 镇江市|