我想传递一个字符串化的JSON作为参数,但Angular不断添加额外的&在我的查询结束时。这让我很头疼。
以下是我的称呼方式:
$scope.products = ProductSvc.getProductsList('{branchId:{"$exists":"true"}}');
反过来调用:
ProductRes.q({'queryStr':params});
以下是q的定义:
var ProductRes = $resource('/products/:productId',
{ 'productId':'@productId','queryStr':'@query' },
{
'$save':{method:'POST', params:{'productId':'@productId'}, isArray:true},
'$get':{method:'GET', params:{'productId':'@productId'}},
'q':{method:'GET', isArray:true, url:'/products?:queryStr'},
'$query':{method:'GET', isArray:true, url:'/products'},
}
);
问题是,angularJS GETs:
/products?{branchId:{"$exists":true}}& // <- This goddamn ampersand!!
额外的&符号导致我的后端行为不端。
如何摆脱它?