[关闭]
@52fhy 2016-01-22T16:23:39.000000Z 字数 1412 阅读 398

04-backbone模型--与服务器进行交互

backbone


  1. <!DOCTYPE html>
  2. <head>
  3. <meta charset="utf-8">
  4. <title>title</title>
  5. <script src="http://the5fireblog.b0.upaiyun.com/staticfile/jquery-1.10.2.js"></script>
  6. <script src="http://the5fireblog.b0.upaiyun.com/staticfile/underscore.js"></script>
  7. <script src="http://the5fireblog.b0.upaiyun.com/staticfile/backbone.js"></script>
  8. </head>
  9. <body>
  10. <script>
  11. var Man = Backbone.Model.extend({
  12. initialize: function(){
  13. //事件绑定
  14. //object.on(event, callback, [context])别名: bind
  15. this.on("change:name", function (model) {
  16. console.log('name被改变为:' + this.get('name'));
  17. //console.log(model);
  18. });
  19. this.on('invalid', function (model, error) {
  20. console.log(model);
  21. console.log(error);
  22. });
  23. },
  24. //默认属性
  25. defaults: {
  26. name:'张三',
  27. age: '38'
  28. },
  29. validate:function(attr){
  30. if(attr.name == '') {
  31. return "name不能为空!";
  32. }
  33. },
  34. url:"/dayun/api/Test/hello_post", //注意不同域名跨域问题
  35. });
  36. var man = new Man();
  37. //model.save([attributes], [options])
  38. //会发送POST到模型对应的url,数据格式为json,即defaults里的数据
  39. //man.save();
  40. //model.fetch([options])
  41. //调用fetch方法是又会发送get请求到server端
  42. //man.fetch();
  43. //可以重新指定url还有回调
  44. man.fetch({
  45. url:'/dayun/api/Test/hello',
  46. success:function (model,res,options) {
  47. console.log(res);
  48. },
  49. error:function (model,res,options) {
  50. console.log(res);
  51. }
  52. });
  53. //post请求。不支持改url
  54. //前面的参数将与defaults合并,即{name: "张三", age: "38", param1: "122222"}
  55. //前面的参数也可以用对象的形式传多个:man.save({"p1":"12", "p2":"22"}, {});
  56. man.save("param1", "12", {
  57. success:function (model,res,options) {
  58. console.log(res);
  59. },
  60. error:function (model,res,options) {
  61. console.log(res);
  62. }
  63. });
  64. </script>
  65. </body>
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注