ajax – Ember将空行添加到数据,其中slug为id
发布时间:2020-12-16 02:56:42 所属栏目:百科 来源:网络整理
导读:我有一个资源,我从服务器/项目列出我的所有项目.您可以访问去/ projects /:slug的特定项目. 当我访问项目资源时,我在Ember Inspector中看到了这些数据: /项目 id | Slug | Title |-------------------------------------------------1 | first-project | F
我有一个资源,我从服务器/项目列出我的所有项目.您可以访问去/ projects /:slug的特定项目.
当我访问项目资源时,我在Ember Inspector中看到了这些数据: /项目 id | Slug | Title | ------------------------------------------------- 1 | first-project | First project | ------------------------------------------------- 2 | second-project | Second project | ------------------------------------------------- 3 | third-project | Third project | 当我从项目列表中访问项目时,我得到相同的数据,没有新的ajax请求,一切正常. /项目/第一项目 当我刷新/ projects / first-project页面时出现问题. Ember发出一个从服务器获取数据的ajax请求,但它也插入了一个空行,其中slug作为数据的id. id | Slug | Title | ------------------------------------------------------------- first-project | | | ------------------------------------------------------------- 1 | first-project | First project | 现在访问项目列表它显示了一个项目列表,但在列表的顶部是这个空行.为什么要将这个slug行插入我的数据?也许我的逻辑错了. <li> <a id="ember451" class="ember-view" href="/projects/undefined"> <script id="metamorph-13-start" type="text/x-placeholder"></script> <script id="metamorph-13-end" type="text/x-placeholder"></script> </a> </li> 我的项目代码: App.Router.map(function() { this.resource('project',{ path: '/projects' },function() { this.resource('project.show',{ path: ":post_slug"}); }); }); App.Project = DS.Model.extend({ slug: DS.attr("string"),title: DS.attr("string") }); App.ProjectIndexRoute = Ember.Route.extend({ model: function() { return this.store.find('project').then(function(data) { return data; }); } }); App.ProjectShowRoute = Ember.Route.extend({ model: function(params) { return this.store.find('project',params.post_slug).then(function(data) { return data; }); },serialize: function(model) { return { post_slug: model.get("slug") }; } }); 我正在使用: DEBUG: ------------------------------- DEBUG: Ember : 1.1.2 DEBUG: Ember Data : 1.0.0-beta.3 DEBUG: Handlebars : 1.0.0 DEBUG: jQuery : 1.9.1 DEBUG: ------------------------------- 解决方法
添加这有帮助.现在主键是Project模型的slug,它不会重复行.
App.ProjectSerializer = DS.RESTSerializer.extend({ normalize: function(type,hash,property) { hash.id = hash.slug; return this._super(type,property); } }); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- React Native桥接器初探
- 用xml改变webView的行间距及字体大小
- Swift函数(函数声明、函数参数和类型)
- postgresql – DROP FUNCTION不知道参数的数量/类型?
- c# – 如何修复,无法加载文件或程序集“XXX”或其一个依赖项
- Flex中DataGrid获取被选中的行
- C++随机数生成器(default_random_engine)用法详解
- c# – 有没有办法知道一个任务是否在等待着?
- Cocos2d-X 学习笔记 16 使用Base64算法对Cocos2dX自带CCUse
- Flex程序启动时initialize、creationComplete、application