如何在 GET 请求中序列化查询的对象
How do I serialize an object for the query in a GET request?
我正在尝试在JavaScript中序列化一个对象,以便我可以在GET请求中查询它。
根据标准,正确的方法是:
function serialise(obj) {
serialised = '';
Object.keys(obj).forEach(function(key) {
serialised += encodeURIComponent(key).replace(/%20/g, '+') + '=' + encodeURIComponent(obj[key]).replace(/%20/g, '+') + '&';
});
return serialised.slice(0, -1);
}
var queryString = serialise({key: 'value', key2: 'value2'});
encodeURIComponent
对 URL 和 GET 请求中x-www-form-urlencoded
安全的字符串进行编码(例如 https://www.google.com/search?key=value),除了它用%20
而不是+
替换空格,所以需要一个最后的.replace
。
使用 jQuery 执行此操作:
var obj = {'test' : 1, 'other' : 2};
console.log( $.param($obj) );
相关文章:
- Ajax发布表单序列化,发布引号'
- 序列化数据属性中对象的最可靠方法
- YUI3 IO实用程序是否可以根据给定的内容类型标头值自动序列化数据
- 为什么JSON.stringify没有序列化原型值
- 有没有一个Nodejs库可以序列化和反序列化命名组件的路径(比如URL路径名)
- 是否可以在javascript中反序列化java对象
- jQuery Ajax数组序列化错误
- 对象序列化,JAVA,Javascript
- 在jquery中以序列化的形式传递额外的paparameter
- 如何使用angularjs序列化对象
- 使用System从C#集合创建JSON数组.网状物剧本序列化
- javascript中是否有更标准化的方法来转换(序列化)非表单数据以与ajax一起使用
- 在html标记中序列化javascript代码
- 如何在C#中反序列化json对象
- 如何在 GET 请求中序列化查询的对象
- 如何在序列化中选择案例查询
- 用NOT LIKE where子句序列化查询
- 删除序列化中的单引号原始查询
- 如何避免使用单引号替换序列化查询
- 如何防止在序列化中嵌套查询/捕获