1. //把json格式转化成url的编码方式
  2. // e.g. Ext.urlEncode({foo: 1, bar: 2}); would return "foo=1&bar=2"
  3. urlEncode: function(o, pre){//o为json对象,pre为前缀
  4. var undef, buf = [], key, e = encodeURIComponent;
  5. for(key in o){
  6. undef = !Ext.isDefined(o[key]);
  7. Ext.each(undef ? key : o[key], function(val, i){
  8. buf.push("&", e(key), "=", (val != key || !undef) ? e(val) : "");
  9. });
  10. }
  11. if(!pre){
  12. buf.shift();
  13. pre = "";
  14. }
  15. return pre + buf.join('');
  16. },
  17. //把URL字符串编码转化成json对象
  18. //Ext.urlDecode("foo=1&bar=2"); // returns {foo: "1", bar: "2"}
  19. //Ext.urlDecode("foo=1&bar=2&bar=3&bar=4", false); // returns {foo: "1", bar: ["2", "3", "4"]}
  20. urlDecode : function(string, overwrite){//string URL参数,overwrite针对同一参数的多个值是否覆盖,false为不覆盖,那就返回这个参数的数组
  21. var obj = {},
  22. pairs = string.split('&'),
  23. d = decodeURIComponent,
  24. name,
  25. value;
  26. Ext.each(pairs, function(pair) {
  27. pair = pair.split('=');
  28. name = d(pair[0]);
  29. value = d(pair[1]);
  30. obj[name] = overwrite || !obj[name] ? value :
  31. [].concat(obj[name]).concat(value);
  32. });
  33. return obj;
  34. }
原文链接: http://lovebeyond.iteye.com/blog/949502

extjs源码分析-(Ext.urlDecode/urlEncode)相关推荐

  1. extjs源码分析-Ext.util.TaskRunner(模拟多线程)

    2019独角兽企业重金招聘Python工程师标准>>> /** * @class Ext.util.TaskRunner * @description 模拟多线程的JS类 //一个简 ...

  2. Journey源码分析三:模板编译

    2019独角兽企业重金招聘Python工程师标准>>> 在Journey源码分析二:整体启动流程中提到了模板编译,这里详细说下启动流程 看下templates.Generate()源 ...

  3. pbp 读取 mysql数据_SqlAlchemy 中操作数据库时session和scoped_session的区别(源码分析)...

    原生session: from sqlalchemy.orm import sessionmaker from sqlalchemy import create_engine from sqlalch ...

  4. jquery1.43源码分析之工具方法

    相关文章: jQuery插件开发全解析 读jq之四 jquery1.43源码分析之核心部分 推荐圈子: Jquery 更多相关推荐 这个部分是jquery一些常用的工具方法. 包括为jquery对象扩 ...

  5. FATFS文件系统框架及源码分析

    FATFS是一个为小型嵌入式系统设计的通用FAT(File Allocation Table)文件系统模块.FatFs 的编写遵循ANSI C,并且完全与磁盘I/O层分开.因此,它独立(不依赖)于硬件 ...

  6. spring boot实战(第六篇)加载application资源文件源码分析

    前言 在上一篇中了解了spring配置资源的加载过程,本篇在此基础上学习spring boot如何默认加载application.xml等文件信息的. ConfigFileApplicationLis ...

  7. cowboy源码分析

    2013-01-21 by 谢鸿锋 原创文章,转载请注明:转载自Erlang云中漫步 目录 ================================= 一.概述 二.ranch源码分析 三.c ...

  8. 这篇文章绝对让你深刻理解java类的加载以及ClassLoader源码分析

    前言 package com.jvm.classloader;class Father2{public static String strFather="HelloJVM_Father&qu ...

  9. ZRender源码分析2:Storage(Model层)

    回顾 上一篇请移步:zrender源码分析1:总体结构 本篇进行ZRender的MVC结构中的M进行分析 总体理解 上篇说到,Storage负责MVC层中的Model,也就是模型,对于zrender来 ...

最新文章

  1. d010:盈数、亏数和完全数
  2. 《SQL与关系数据库理论——如何编写健壮的SQL代码》一第3章
  3. Kanzi常用操作2
  4. 由于 Web 服务器上的“ISAPI 和 CGI 限制”列表设置,无法提供您请求的页面。
  5. 【STM32】STM32系列教程汇总(暂时暂停更新...)
  6. bmp文件格式_一次性解决CAD转换成BMP格式图片的问题
  7. Regal灰度发布智能分组引擎
  8. 【ASK】设置网卡启动遇到的事!
  9. 江西理工大学c语言考试题库,江西理工大学C语言程序设计竞赛(初级组)(示例代码)...
  10. Leetcode 106.从中序与后序遍历序列重建二叉树
  11. Flutter学习 — 处理点击
  12. Cmax最优但∑Ci不一定最优 例子
  13. 【高效程序员系列】1、好马配好鞍——舒适的工作环境
  14. C++11中智能指针的原理、使用、实现
  15. 将Excel列表数据转换成html代码
  16. VS2015番茄安装教程
  17. 转载:矩阵L2,1范数及矩阵L2,p范数的求导
  18. 谷歌浏览器 发送到剪切板_将Google搜索结果发送到您的新闻阅读器
  19. linux中的 bin sh,Linux-#!/bin/sh理解
  20. TRIZ创新思维方法_简要复习

热门文章

  1. 【Anaconda】Anaconda使用requirement方法
  2. 进阶笔记——java并发编程三特性与volatile
  3. vmware shrike-i386-disc1.iso network
  4. 标定CCP协议在S32K144上的移植实战
  5. 对于windows11,无法添加键盘,仅桌面,无法输入中文的问题(亲测,难顶)
  6. web UI自动化——谷歌、火狐浏览器对应版本的驱动下载
  7. linux tbb 安装_Linux环境下配置Google Test、TBB、OpenMP和OpenCV
  8. Comsol学习笔记1:后处理出图,添加面上箭头
  9. cubase怎么添加midi设备_Cubase中MIDI设备的如何创建面板
  10. 关于模块外壳地和信号地的处理及原因