AngularJS和Play 2之间的通信如何工作?

时间:2015-06-01 12:58:02

标签: angularjs twitter-bootstrap url playframework-2.0

在uni的演讲范围内,我们目前正在尝试使用后端的Play 2框架,客户端的AngularJS和整体外观的Bootstrap来开发Web应用程序。

这是我第一次使用Play和AngularJS框架,目前我对AngularJS和Play控制器之间的通信感到绝望。实际上,我想将我的后端Play方法与我的AngularJS控制器中的路径定义URL一起使用。作为我的数据库中的查询的Play方法的结果应存储在AngularJS数组中,以通过ng-repeat在前端打印。在下面,请找到我的代码。

我想在AngularJS中重用的方法是在Play Controller中定义的:

package controllers; 

import ...

public class IListActions extends Controller {
    ...

    /* Read List */
    @Transactional(readOnly = true)
    public static Result getIList(int id) {
        IList ilist = IList.findById(id);
        return ilist == null ? notFound() :ok(Json.toJson(ilist));

    ...
    }
}

此外,我在Play路线中声明:

GET   /api/getilist/:id                  controllers.IListActions.getIList(id: Integer)

到目前为止,这么好。我们已经测试了该方法,它很好地返回了Json Objects。我们想在开头的User id = 1中使用/ api / getilist /:id来显示模板中的列表:

<div ng-repeat="liste in arrayListen">
    <div class="liste">
        <div class="input-group">
        <span class="input-group-addon">
            <input type="checkbox">
        </span>
            <input type="text" class="form-control" placeholder="{{liste.name}}">
        <span class="input-group-btn">
            <button type="button" class="btn btn-default"><span class="glyphicon glyphicon-menu-left"></span></button>
        </span>
        </div>
    </div>
</div>

我的问题是,我们必须在AngularJs控制器中声明什么,名称app.js才能使其工作。长话短说,我们试图为$http.get致电/api/getilist/:id,但没有取得任何成功。

我确信,这实际上应该不是火箭科学。

0 个答案:

没有答案