Javascript 主干:将数据传递到服务器(save()方法,php文件)

Javascript 主干:将数据传递到服务器(save()方法,php文件),javascript,php,ajax,rest,backbone.js,Javascript,Php,Ajax,Rest,Backbone.js,希望你能帮我解决那个问题 我想使用Backbone的save()方法并传递到php文件数据。 但从一开始我就有问题 在浏览器的控制台中,我执行: var test = new MyModel(); // - it's ok test.toJSON(); // - it's ok test.save(); // and here I have error "TypeError: d.collection is undefined" 当我使用localStorage时,everythink是正常

希望你能帮我解决那个问题

我想使用Backbone的save()方法并传递到php文件数据。 但从一开始我就有问题

在浏览器的控制台中,我执行:

var test = new MyModel(); //  - it's ok
test.toJSON(); // - it's ok
test.save(); // and here I have error "TypeError: d.collection is undefined"
当我使用localStorage时,everythink是正常的(在下面的代码中有注释)。我可以创建模型、集合、视图等并对其进行操作

我尝试使用这些教程net.tutsplus.com/tutorials/javascript-ajax/understanding-backbone-js-and-the-server/,但我不知道REST是如何工作的,也不知道我犯了什么错误。希望你能解释一下

index.html

<!DOCTYPE html>
<html>
<head>
  <title>S.O.S</title>
</head>
<body>
<h1>Test</h1>
  <script src="jquery.min.js"></script>
  <script src="underscore-min.js"></script>
  <script src="backbone-min.js"></script>
  <script src="backbone.localStorage-min.js" type="text/javascript"></script>  

<script >

  window.MyModel = Backbone.Model.extend({
    defaults: {
      title: 'Test'
    },

    //localStorage: new Store('TEST')
    urlRoot: 'api/items'
  });


</script>

</body>
</html>
下面是一个工作示例 即使没有休息,我也没有犯你犯的错误。 我注意到JSON输出没有
内容类型。您可以将这一行添加到
index.php
以使其正常工作

$app->contentType("application/json");
您还可以获得
success
error
回调,以查看它们是否已被调用

test.save(null, {
    success: function() {
        alert("success");
    },
    error: function() {
        alert("error");
    }
});
$app->contentType("application/json");
test.save(null, {
    success: function() {
        alert("success");
    },
    error: function() {
        alert("error");
    }
});