AngularJS将数据数组添加到$ http请求

时间:2016-05-29 11:48:04

标签: javascript arrays angularjs xmlhttprequest angularjs-http

我要将数组中的一些数据添加到angularjs中的$http服务中。我将它们添加到服务的方式如下所述(并且它可以正常工作)

var inputValueArray  = new Array($scope.formdata);

我可以在我的api中按索引零获取数据。但我希望通过命名索引。所以,我这样做:

var inputValueArray  = new Array();
inputValueArray["myIndex"] = $scope.formData;

但是,在api中我得到空数组。然后我做了这个解决方案:

var inputValueArray = {"myIndex" : $scope.formData};

现在我收到Maximum call stack size exceeded错误。在两者中,我使用$_POST来获取数据。我的意思是我通过 $。param()发送数据:

data: $.param({ mydata:inputValueArray , csrf_token: myTokenKey})

任何想法都会受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

根据ECMAScript 2015(ES6)标准,javascript有一个Map实现。

link

示例:

var myMap = new Map();

var keyString = "a string",
    keyObj = {},
    keyFunc = function () {};

// setting the values
myMap.set(keyString, "value associated with 'a string'");
myMap.set(keyObj, "value associated with keyObj");
myMap.set(keyFunc, "value associated with keyFunc");

myMap.size; // 3

// getting the values
myMap.get(keyString);    // "value associated with 'a string'"
myMap.get(keyObj);       // "value associated with keyObj"
myMap.get(keyFunc);      // "value associated with keyFunc"

myMap.get("a string");   // "value associated with 'a string'"
                         // because keyString === 'a string'
myMap.get({});           // undefined, because keyObj !== {}
myMap.get(function() {}) // undefined, because keyFunc !== function () {}