2014-10-28 70 views
0

我用NG-重複模塊有一個表單構建作爲表單數據,而不是查詢字符串。 我必須使用AngularJS來做到這一點,我不能使用舊的經典按鈕和POST刷新。發送數據形式NG重複

FORM DATA 

form-0-id:"x" 
form-0-value:"y" 
form-1-id:"a" 
form-1-value:"b" 

EXC ...

我怎樣才能做到這一點? 我已經從查詢字符串變換數據,以形成功能數據:

app.config(function($httpProvider) { 

    // Use x-www-form-urlencoded Content-Type 
    $httpProvider.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=utf-8'; 

    // Override $http service's default transformRequest 
    $httpProvider.defaults.transformRequest = [function(data) 
    { 
     return angular.isObject(data) && String(data) !== '[object File]' ? jQuery.param(data) : data; 
    }]; 

}); 

回答

0

我認爲你可能有過於複雜這個問題,你必須要回發到服務器的項目列表。

通過所有的ng-submit

var module = angular.module('testApp', []); 
 

 
module.controller('MyCtrl', function($http){ 
 
    var self = this; 
 
    self.items = [ 
 
    {prompt: 'prompt 1', value: 'value 1'}, 
 
    {prompt: 'prompt 2', value: 'value 2'}, 
 
    {prompt: 'prompt 3', value: 'value 3'} 
 
    ]; 
 
    
 
    self.submitMe = function(){ 
 
    var url = 'http://serverUrl' 
 
    
 
    //sample post code: 
 
    //$http.post(url, self.items); 
 
    
 
    //debug: 
 
    alert('post data to ' + url + '\n' + JSON.stringify(self.items)); 
 
    }; 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script> 
 
<div ng-app="testApp" ng-controller="MyCtrl as my"> 
 
<form ng-submit="my.submitMe()"> 
 
    <ul> 
 
    <li ng-repeat="item in my.items"> 
 
     {{item.prompt}} <input type="text" ng-model="item.value"/ > 
 
    </li> 
 
    </ul> 
 
    <button>Save</button> 
 
</form> 
 
    </div>

+0

首先定義一個控制器將管理這個列表,以及處理後的行動,感謝您的回答。答案中有一個主要問題:結構。你有相同的結構,由兩個字段組成:提示和值。我想發佈類似form-0-id的東西:a,form-0-value:b; form-1-id:c,form-1-value:d等......我不知道如何獲得像那樣的結構。 – Dyd666 2014-10-28 16:05:53

+0

'prompt'和'value'是兩個獨立的值,我只是輸入它們是相同的,它們可以是任何您想要查看的值,我會更新以反映這一點。 – Brocco 2014-10-28 16:45:49

+0

但是,我怎麼能發送到服務器只有項目的價值?我的意思是,我嚴格按照這種方式需要數據:form-1:x,form-2:y ecc ...在鍵值結構中,問題不是價值,而是關鍵,它必須是動態的,正如我以前顯示(鍵 - >形式1 VALUE - > X,形式2; y exc ...)使用你的方法我怎麼能得到這個? – Dyd666 2014-10-28 21:10:19