Ember.js中查询参数的Url编码
Url encoding for query params in Ember.js
我在我的最新项目中使用Ember.js,版本1.7.0-beta.1
。我使用查询参数功能使列表在硬刷新后存活(例如,在重新加载后,列表中所选的项仍然被选中)。
我有一个控制器来管理它:
export default Ember.ObjectController.extend({
queryParams: [{selectedFiles: 'files'}],
selectedFiles: Ember.A([]), //list of file ids
... //other props
actions: {
selectFile: function(file) {
//set or remove the file id to the selectedFiles property
}
});
它工作得很棒,但是有一个条件:url是url编码的:
铬,即:
路径/354 ?文件= % 5 b 2 c"6455"6513"% % 2 c % 2 c"6507"6509"% 2 c % 2 c"6504"6505"% 2 c"6511"% 5 d
FF (自动设置括号):
在Ember中是否有一种方法可以将query-param-string解码为更可读的格式?也许我可以在什么地方用路径/354 ?文件= " 6513 " % 2 c % 2 c"6509"6455"% 2 c % 2 c"6505"6507"% 2 c % 2 c"6511"6504")
decodeURIComponent()
函数?期望输出:
路径/354 ?文件=("6513"、"6455"、"6509"、"6507"、"6505"、"6504"、"6511")
我有一个非常类似的问题,并通过覆盖路由中的serializeQueryParam
和deserializeQueryParam
使其工作
在控制器中,你会有:
queryParams: ['files'],
files: []
在route中:
serializeQueryParam: function(value, urlKey, defaultValueType) {
if (defaultValueType === 'array') {
return value;
// Original: return JSON.stringify(value);
}
return '' + value;
},
:
deserializeQueryParam: function(value, urlKey, defaultValueType) {
if (defaultValueType === 'array') {
var arr = [];
for (var i = 0; i < value.length; i++) {
arr.push(parseInt(value[i], 10));
}
return arr;
// Original: return Ember.A(JSON.parse(value));
}
if (defaultValueType === 'boolean') {
return (value === 'true') ? true : false;
} else if (defaultValueType === 'number') {
return (Number(value)).valueOf();
}
return value;
},
url将变成类似于:
?files[]=1&files[]=2&files[]=3
在服务器端将是一个真正的数组。
看一下jsbin.com上的工作示例
相关文章:
- 使用 POST 方法通过 ajax 发送的数据在发送到服务器之前是否必须进行 URL 编码
- PHP(PDO)url编码如何在javascript中解码?decodeURI?或解码URI组件
- 以 json 或 url 编码格式发送 js 模型
- 从函数调用控制器并向其传递 URL 编码参数
- PHP 通过 url 编码数据传递字符串
- 如何防止空格被 URL 编码为“javascript:”URL
- 将url编码的数据转换为JSON数组或js数组
- 从HTML5中URL编码的字符串中提取数据
- 我不知道如何写出URL编码的查询字符串
- xmlhttprequest中的url编码
- <输入类型='文件'>提供了URL编码的文件名,导致Android本机浏览器上的FileRea
- javascript中的Url编码
- Angular显示url编码错误,如何获得解码版本
- 最新的base64和url编码库
- 联系API时出现错误的URL编码
- 为什么对href属性使用url编码而不是html编码
- Ajax url编码问题
- Url编码的Javascript问题
- 我应该担心在form元素中使用GET不会;t自动对尖括号进行URL编码
- Node.js:由于URL编码的GET参数,导致外部资源的路径混乱