2016-05-29 42 views
0

我將在angularjs中將一些數據添加到$http服務中。我將它們添加到服務的方式是下面提到的(和它工作正常)

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

我可以通過索引零在我的API獲取數據。但我想通過得到名爲index。所以,我做這樣的事情:

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}) 

任何想法是高度讚賞。

回答

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() {} 
+0

謝謝。但同樣的問題。 –

+0

請將您的代碼上傳到JSFiddle或其他應用程序,我會盡力幫助您。 –

+0

我在JSFiddle中遇到了一個非常愚蠢的錯誤。我無法實例化我的應用程序。你能檢查一下嗎? https://jsfiddle.net/6kstm3e8/25/ –