JavaScript 获取到的Json数据传递给另一个JS函数
首先要认识JavaScript编解码函数
escape(string),unescape(string) 编码、解码函数
注:escape(string)方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _+ . / 。其他所有的字符都会被转义序列替换。
注:ECMAScript v3 反对使用unescape(string)方法,应用使用 decodeURI() 和 decodeURIComponent() 替代它。
示例
$.post("./user/list",null,function (data) {
var attr = JSON.stringify(data); // 将post请求获取到的json数据转成字符串
getData('\'' + escape(attr) + '\''); // 进行编码
});
function getData(data) {
var attr = JSON.parse(data); // 将获取的数据重新转换成json数据
var params = unescape(attr); // 进行解码
console.log(params.name);
}
其他编解码函数
文字编码函数:encodeURI(),encodeURIComponent()
相应解码函数:decodeURI(),decodeURIComponent()
请注意 encodeURIComponent() 函数 与 encodeURI() 函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent() 函数将转义用于分隔 URI 各个部分的标点符号。