手动将AngularJS $ http params对象转换为URL参数

时间:2014-12-12 13:33:20

标签: javascript jquery angularjs

Angular的$http服务可以自动将对象转换为URL参数。即在以下代码中,params将转换为date=2014-12-11T18:00:00.000Z&name=MyName

$http({
     method: "GET",
     url: url,
     params: {date: new Date(), name: 'MyName'}
})

问题:如何手动将我的对象转换为url参数?

我发现我可以使用JQuery的$param方法来实现它,但问题是当使用JQuery时它会转换为worng格式的日期:date=Fri+Dec+12+2014+00%3A00%3A00+GMT%2B0600+(Ekaterinburg+Standard+Time),但我想在Angular&中发送日期#39;格式:

date=2014-12-11T18:00:00.000Z

换句话说,我需要这样的东西:

var params = {date: new Date(), name: 'MyName'};
var paramsString = angular.toUrlParams(params); // should output `date=2014-12-11T18:00:00.000Z&name=MyName`

1 个答案:

答案 0 :(得分:0)

在将日期传递给jQuery之前,将日期转换为该字符串格式。

It doesn't do anything specific to the dates under-the-hood,这只是default way to cast a date object into a string as per the JS spec