Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ajax/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ajax AngularJS使用$http.get请求按特定顺序传递参数数据_Ajax_Angularjs_Get_Javascript - Fatal编程技术网

Ajax AngularJS使用$http.get请求按特定顺序传递参数数据

Ajax AngularJS使用$http.get请求按特定顺序传递参数数据,ajax,angularjs,get,javascript,Ajax,Angularjs,Get,Javascript,我正在一个简单的原型应用程序中使用AngularJS,该应用程序在后端使用Domino服务器 当我打这样一个看似简单的电话时: $http({ url: $scope.hrEventsPath, method : "GET", params : { 'readform' : '', 'eventid' : $scope.queryStringPairs.eventid, 'userid

我正在一个简单的原型应用程序中使用AngularJS,该应用程序在后端使用Domino服务器

当我打这样一个看似简单的电话时:

$http({ url: $scope.hrEventsPath, 
        method : "GET", 
        params : { 'readform' : '',
                   'eventid' : $scope.queryStringPairs.eventid,
                   'userid' : $scope.queryStringPairs.userid,
                   'login' : $scope.queryStringPairs.login } }).
            success(function(data, status) {
                // happy stuff
            }).
            error(function(data, status) {
                // error handling stuff
            });
似乎Angular在调用时将所有参数按字母顺序排列

因此,
readform
参数不是第一个参数,
eventid
是,Domino服务器阻塞。(无论“
readform
”是否有值,都会发生这种情况)

不管Domino及其配置如何,是否有一种方法可以按Angularm的顺序排序,还是应该使用另一种方法


提前感谢。

使用单个对象的数组,那么该对象将没有机会切换自身

[ {}, {}, {} ]

为了补充你的答案,下面是答案有效的原因。默认情况下,如果作为单个对象传递,angular会对所有参数键进行排序。感谢@StenMuchow,并感谢您提供了关于其行为方式的额外说明。虽然将对象数组传递到
params
会保留顺序,但它不会生成与传递属性对象相同的URL。我缺少什么才能使订单正常运行
params:{query:5,other:2}
products
?query=5&other=2
传入对象数组执行以下操作:
params:[{query:5},{other:2}]
products
?0=%7B%22query%22:5%7D&1=%7B%22other%22:2%7D
是否有一些代码示例要签出?可能是plunker?@StenMuchow这是一个带有代码的jsbin-您可以在$http代码中的两个方法
getOrderedParams
getParams
之间切换,以查看生成的不同URL。您可以忽略端点返回错误的事实,因为CORS未启用,我们只想以控制台中生成的URL为例。