在get方式的参数传递中,常常需要将JavaScript对象,转换成查询字符串,比如:
{ method: 'get', state: '200' }
会转换成
?method=get&state=200
方法1:用JavaScript
serialize = function(obj) {
var str = [];
for (var p in obj)
if (obj.hasOwnProperty(p)) {
str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
}
return str.join("&");
}
测试:
console.log(serialize({
foo: "hi there",
bar: "100%"
}));
输出:
// foo=hi%20there&bar=100%25
方法2: 用jQuery插件
jQuery的$.param内置此方法,可直接使用:
var data = { method: 'get', state: '200' }
var send = $.param(data)
console.log(send)
// method=get&state=200
jQuery 的get方法会默认使用 $.param 转换的参数:
$.get('/test', { a: 1, b: 1})
> GET http://ourjs.com/test?a=1&b=1 404 (Not Found)
回复 (0)
微信扫码 立即评论