小编Jan*_*_dh的帖子

Ember Cli和ASP.NET webapi - 挂起数据

我有一个在localhost:4200上运行的Ember Cli项目和一个在localhost:56967上运行的asp.net webapi项目.两个项目分别运行良好:我可以启动我的Ember应用程序并测试几条路线,看起来很好,我可以访问我的api(例如:api/products),我看到了我的回复.

我遇到的问题是彼此挂起两件事.

适配器

 export default DS.RESTAdapter.extend({
      host: 'http://localhost:56967',
      namespace: 'api'
 });
Run Code Online (Sandbox Code Playgroud)

我第一次遇到一些Cors问题,但是我在我的Ember应用程序中修复了contentSecurityPolicy,并在我的Api上启用了Cors.

当我进入产品路线时,我可以看到对Api的请求被接受,Api回复了Json的回答.但是,我没有序列化模型,所以我可以在我的Ember应用程序中使用它.

这是我对Api的回应

  [{"ProductId":1,"Name":"Product 1","Description":"Category 1"},{"ProductId":2,"Name":"Product 2","Description":"Category 2"},{"ProductId":3,"Name":"Product 3","Description":"Category 3"}] 
Run Code Online (Sandbox Code Playgroud)

产品的Ember模型

export default DS.Model.extend({
    name : DS.attr('string'),
    description: DS.attr('string')
});
Run Code Online (Sandbox Code Playgroud)

Asp.net产品型号:

public class Product
{
    public int ProductId { get; set; }
    [Required]
    public string Name { get; set; }
    public string Description { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我知道我必须序列化Api响应,使其成为我的Ember App的"可读"Json.现在的问题是:更改Api的格式是否更好?或者做一个好的序列化器?我如何制作序列化器?很难找到一些体面的教程.我尝试了这个,但这不起作用:

 export default DS.RESTSerializer.extend({
      primaryKey: 'productId'
  });
Run Code Online (Sandbox Code Playgroud)

这是我得到的错误:

  Error while processing route: products No model was found for …
Run Code Online (Sandbox Code Playgroud)

json ember.js asp.net-web-api ember-data ember-cli

2
推荐指数
1
解决办法
1051
查看次数

使用Bower&Grunt将谷歌地图Api添加到项目构建中

我正在使用Yeoman webapp生成器(https://github.com/yeoman/generator-webapp),我已经添加了Bower包GMAPS(https://github.com/hpneo/gmaps).将Gmaps添加到我的项目后,我在项目的顶部添加了Google Api链接

<!-- build:css(.tmp) styles/main.css -->
    <script src="http://maps.google.com/maps/api/js?sensor=true"></script>
    <link href='http://fonts.googleapis.com/css?family=PT+Sans' rel='stylesheet' type='text/css'>
    <link rel="stylesheet" href="styles/main.css">
<!-- endbuild -->
Run Code Online (Sandbox Code Playgroud)

问题是,当我使用Grunt Serve命令时,我看到我的Gmaps出现在我的本地主机上运行的网站上.如果我Grunt构建我的项目它总是给我一个错误,在我的main.js文件中它找不到变量Gmaps(用于触发Gmaps插件).

所以我的问题是:如何将API添加到使用Grunt构建的项目中?

javascript google-maps-api-3 gruntjs yeoman bower

0
推荐指数
1
解决办法
3785
查看次数