如何从<p>标记中的数据库中获取值并将它们发布到具有相同ID的数据库中

时间:2017-09-29 12:41:54

标签: jquery angularjs ajax codeigniter angularjs-directive

我是angularjs的新手,我想创建一个像谷歌一样的应用程序。我成功地以列表格式获取<p>标记内的数据。我的条件是每当我在<p>标签中进行任何更改时,它都在数据库中。我试图用ngKeyup()做到这一点,但我没有成功,所以我删除了ngKeyup()。我怎么能用ajax jquery或javascript做到这一点?

--- ---视图

<ul ng-repeat="n in notes">
    <li>
        <p class="note-preview" ng-model="note_content">{{n.note_content}}</p>
    </li>
</ul> 

--- --- JS

angular.module('app')
    .controller('GlobalCtrl', ['$scope','$http', function($scope,$http) {

    $http.get("notes/get_notes").then(function(result) {
        $scope.notes = result.data;
        console.log($scope.notes);
    });

}]);

--- CI控制器---

public function get_notes() {
    $user_id = $_SESSION['user_id'];
    $userdata = $this->notes_model->get_user_note($user_id);
    echo json_encode($notedata);
}

--- CI模式---

public function get_user_note($user_id) {
    $this->db->select('*');
    $query = $this->db->get_where('note', array('employee_id' => $user_id));
    return $query->result_array();
}

1 个答案:

答案 0 :(得分:0)

除非你去掉你的保存功能,否则在keyUp上执行此操作是没有意义的。想象一下,每次按下键盘后都会调用后端,你很快就会用ajax请求充斥后端。

看看angular-debounce,然后你可以在notes数组上使用$ watch来运行保存功能。