Backbone 崩溃 XAMPP

Backbone crashing XAMPP

所以我终于尝试了其中一个前端框架,我想我会选择 backbone.js 因为它已经存在了一段时间并且已经证明了生产价值。

我正在我的本地主机 (XAMPP) 上用它做一些测试。我只是抓取一些 JSON 格式的数据并添加到一个集合中。因为这是我第一次这样做,所以我假设我做错了什么,但我的代码如下所示:

index.php:

<html>
    <head>
        <title>Backbone Testing</title>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
        <script src="js/underscore-min.js"></script>
        <script src="js/backbone-min.js"></script>
    </head>
    <body>
        <div id="container" style="margin-left: auto; margin-right: auto;"></div><br /><br />
    </body>

    <script src="mv/app.js"></script>

    <script>
        var test = new App();
    </script>
</html>

app.js:

/*
    Model
 */
var App = Backbone.Model.extend({
    initialize: function() {
        $.ajax({
            type: "POST",
            url: "getData.php",
            success: function(data) {
                var jData = JSON.parse(data);

                console.log(jData); // Data coming in is in proper format

                // After commenting out the lines below
                // it doesn't crash

                //var users = new Data;
                //users.reset(jData);
            },
            error: function(xhr) {
                console.log(xhr);
                alert("Error!");
            }
        });
    },

    defaults: {
        SURNAME: "",
        FST_NAME: ""
    }
});

/*
    Collection
 */
var Data = Backbone.Collection.extend({
    model: App,
});

我所做的只是从我的模拟数据库中提取一些数据并尝试将其添加到集合中,但是当它确实通过 users.reset(jData) 添加到集合中时,我没有得到 JavaScript 错误,但网页变得没有响应,不久之后我的服务器崩溃(XAMPP 停止工作)。

任何帮助将不胜感激,因为我查看了这里的几个线程和各种 Google 搜索,但无法找出我做错了什么。谢谢!

似乎崩溃的原因是重复的 AJAX 调用。调整后 app.js 现在看起来像:

$(function() {
    $.ajax({
            type: "POST",
            url: "getData.php",
            success: function(data) {
                var jData = JSON.parse(data);

                var users = new Data;
                users.set(jData);
            },
            error: function(xhr) {
                console.log(xhr);
                alert("Error!");
            }
        });
});

/*
    Model
 */
var App = Backbone.Model.extend({
    defaults: {
        SURNAME: "",
        FST_NAME: ""
    }
});

/*
    Collection
 */
var Data = Backbone.Collection.extend({
    model: App,
});

现在我只需要弄清楚如何渲染视图就可以了,但我想那是另一个 post。