Backbone.js- 모음(Ajax)

10035 단어 Backbone.jsJavaScript

개요


Backbone.js의 모음집에서 Ajax 통신을 하고 목록을 동적으로 가져옵니다.

지방 환경 정비


docker로nginx를 시작해서 환경을 조정합니다.
단말기
$ docker-compose build
$ docker-compose up -d
※ 배우기 위해 만든 코드가 github에 업로드됨
https://github.com/reflet/sample-backbone.js

Ajax 통신 준비


Ajax 비동기 통신을 통해 Collection 처리 데이터를 얻기 위해 json 파일을 준비합니다.
./src/html/api/users.json
[
  {"country": "日本", "prefecture": "東京都", "name": "太郎", "age": "30"},
  {"country": "日本", "prefecture": "大阪府", "name": "次郎", "age": "28"},
  {"country": "日本", "prefecture": "愛知県", "name": "花子", "age": "25"},
  {"country": "日本", "prefecture": "福岡県", "name": "三郎", "age": "15"},
  {"country": "日本", "prefecture": "東京都", "name": "四郎", "age": "25"}
]

샘플 코드


Ajax를 통해 동적으로 데이터를 가져오는 Collection을 만들어 보았습니다.
※ 데이터 획득 주소: GEThttp://localhost:8080/api/users.json
./src/html/collection1.html
<!DOCTYPE html>
<html lang="ja">
<head>
    <meta charset="utf-8">
    <title>Backbone.js学習 [Collection]</title>
</head>
<body>
    <h1>Collection</h1>
    <p>CollectionでAjax通信して動的にデータを取得する</p>

    <script src="https://cdn.jsdelivr.net/npm/[email protected]/underscore.min.js"></script>
    <script src="https://cdn.jsdelivr.net/gh/jquery/[email protected]/dist/jquery.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/[email protected]/backbone.min.js"></script>
    <script>
        // Model
        const Person = Backbone.Model.extend({
            defaults: {
                country: '日本',
                prefecture: '東京',
                name: '',
                age: null,
            }
        });

        // Collection
        const Users = Backbone.Collection.extend({
            model: Person,
            url: '/api/users.json',
            parse: function(response){
                console.log(response);
                return response;
            }
        });
        const users = new Users();
        users.fetch().done(function(users){
            $.each(users, function(index, user){
                console.log(index, user);
            });
        });
    </script>
</body>
</html>

동작 확인


정상적으로 데이터를 얻은 것 같습니다.

사이트 축소판 그림

  • github - backbone.js
  • Backbone.기본 자습서
  • Backbone.js 입문
  • 좋은 웹페이지 즐겨찾기