在Angular中,server {
listen 80;
server_name example.com www.example.com;
location / {
proxy_pass http://localhost:8080/app1/;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass_header Set-Cookie;
proxy_pass_header X-Forwarded-For;
proxy_pass_header Host; }
location /app2/ {
proxy_pass http://localhost:8080/app2/;
proxy_set_header X-Real-IP $remote_addr;
proxy_pass_header Set-Cookie;
proxy_pass_header X-Forwarded-For;
proxy_pass_header Host; }
}
返回一个易于修改的对象:添加新参数,更改或删除(设置为$location.search()
)现有参数。 null
将此对象设置为$location.search(object)
的{{1}}组件。我正在寻找一种方法来从这个对象中获取组合查询字符串,使search
保持不变。我不需要获取实际的查询字符串,我需要撰写来自对象的查询字符串。
我不想重新发明轮子并编写一个javascript函数,将对象转换为& -separated键值对的字符串,Angular已经有一个。基本上我想要做的是使用toKeyValue
中的Angular.js方法,该方法用于在$$compose
中的location.js函数中撰写查询字符串。但是,看起来$location
方法无法从Angular外部访问(例如,forEach
不同),因为我在尝试调用时遇到$location
错误。有没有办法从我的控制器调用toKeyValue
方法,或者只是通过Angular从对象中编写查询字符串?
答案 0 :(得分:3)
您可以使用$httpParamSerializer
将对象转换为字符串。
这可以通过您的控制器完成。
app.controller('MainCtrl', function($scope, $httpParamSerializer) {
var querystring = $httpParamSerializer({ width:1680, height:1050 }); //height=1050&width=1680
});