2016-07-24 127 views
0

此代碼創建一個無限循環:

$scope.signup = function() { 
    $http({ 
    method: 'POST', 
    data: $.param($scope.formData), 
    url: '/api/signup', 
    headers: {'Content-Type': 'application/x-www-form-urlencoded'} 
    }) 
    .success(function(data) { 
    console.log(data); 
    }) 
} 

HTML表單:

<div data-ng-controller="signup"> 
    <form id="signup-form" name="singup-form" method="post" data-ng-submit="signup()" novalidate> 
    <div class="form-group"> 
     <label>Email</label> 
     <input class="form-control" type="email" name="email" placeholder="Your email" data-ng-model="formData.email"> 
    </div> 
    <div class="form-group p-tb-20"> 
     <button type="submit" class="btn btn-success">Signup</button> 
    </div> 
    </form> 
</div> 

當我打電話$.param($scope.formData),就會出現問題。當我檢查$scope.formData對象時,我注意到它包含對其自身的循環引用,並且formData對象中的模型包含對控制器內部對象的引用,以及本身。所以,該函數在無限循環中運行。

我想要做的就是提交一個表單。我究竟做錯了什麼?

+0

你應該直接發送數據到請求體中,比如'data:$ scope.formData,',爲什麼你需要$ .params呢? –

+0

因爲我想將數據作爲POST查詢發送,而不是在請求的正文內。 – Lev

+0

所以然後使用'params'儘管'數據'選項..技術上它應該從請求身體傳遞.. –

回答

0

您的視圖中的第一行應該是您在此處直接調用方法的控制器名稱。

<div data-ng-controller=**"signup()"**> 
+0

這是一個錯字,對不起! – Lev