2017-02-05 33 views
0

我在我的控制器中發送POST請求到數據庫(SQLite)的函數。該函數綁定到HTML中的ng-click,當我嘗試添加時,出現500內部服務器錯誤。然後,如果我刷新頁面,則出現新項目。這是爲什麼發生?在POST時出現AngularJS錯誤,但在刷新後工作

app.controller("Ctrl", ["$scope", "$q", "$log", "$http", "dataService", function($scope, $q, $log, $http, dataService) { 
    $log.debug("Initializing Controller"); 

    $scope.good = []; 

    $scope.addGood = function(body) { 
    $log.debug($scope.good.length+1); 
    $log.debug(body); 
    $http.post('/goods', { 
     'id': "2", 
     'body': "yey", 
     'author': "suh", 
     'date': "suh" 
    }); 
    }; 
}]); 

回答

0

我得到一個500內部服務器錯誤。

這意味着某些代碼在您的API(後端)中發生錯誤。

然後,如果我刷新頁面,新項目出現。

這意味着在您的後端,您的API會正確插入對象(您從前端發送的數據)。

而且,由於您沒有向我們提供後端(API)代碼,因此我只能假設在SQLite中插入數據後出現問題。

請看看那裏,你會得到解決方案或發佈你的代碼在你的問題。

希望它有幫助。

0

這意味着處理POST請求的服務器方法遇到錯誤。你會得到一個500錯誤(這實際上只意味着:「服務器出現問題,請查看服務器日誌」)。

很明顯,服務器方法將記錄保存到SQLite中,並在此之後失敗。我說,因爲頁面刷新顯示數據已經存儲好了。

+0

我不知道錯誤可能在哪裏。此外,如果它正在更新數據庫如何表不自動更新? – mysticalstick

+0

它的原因在於您的DOM中的表格沒有綁定到您的數據庫中,而是與您的角度應用程序的範圍 –

相關問題