具有整数参数的角度资源构建错误的URL

时间:2015-11-02 23:01:44

标签: angularjs http restful-url angular-resource query-parameters

我正在尝试使用以下代码与RESTFul服务进行通信:

$scope.makeRequest = function(){
    params = {};
    params['3'] = 'X';
    params['length'] = 5;

    var resource = $resource('/foo', {});
    var result = resource.query(params, function(){
       console.log(result);
    });
}

此请求有效,并调用预期的网址:http://localhost:3000/foo?3=X&length=5

但是,当整数字段是'length'字段的值减一:

$scope.makeRequest = function(){
    params = {};
    params['4'] = 'X';
    params['length'] = 5;

    var resource = $resource('/foo', {});
    var result = resource.query(params, function(){
       console.log(result);
    });
}

此代码段会忽略“长度”字段,并请求:http://localhost:3000/foo?4=X

我的问题是:

  1. 这种行为来自哪里?
  2. 是否有更好的方式来提出此请​​求?考虑到我需要多个整数参数,我可以避免多个整数参数吗?

1 个答案:

答案 0 :(得分:0)

您是否尝试过设置这样的文字对象:

params = {'4':'X', 'length': '5'}