为什么我的Grails应用程序无法从我的Angular脚本中获取对象?

时间:2015-05-19 13:57:01

标签: javascript json angularjs grails

我正在尝试将对象添加到Grails中的JSON列表中。这是我的Angular代码: http://pastebin.com/4ypijUMD

我的Grails控制器: http://pastebin.com/skTtVtxv

根据我的理解,我的angularJS脚本应该发送一个请求来访问添加控制器,其中包含来自列表最新成员的信息。

然后add函数应根据从角度脚本和ta-da传递到控制器的参数创建一个新的JSON对象。

但是,没有创建任何东西,我只是在尝试更新

时获取空对象
list with my update controller:
    def saveList() {
        def newItem = Item.findById(request.JSON.id)
        newItem.name = request.JSON.name
        newItem.type = request.JSON.type
        newItem.priority = request.JSON.priority
        newItem.completed = request.JSON.completed
        newItem.save(flush: true)
        render newItem as JSON
    }

3 个答案:

答案 0 :(得分:0)

您没有显示进行实际AJAX调用的代码,只显示带有保存调用的服务。使用Grails和Angular执行此操作的方式如下所示:

$http.post('http://localhost:8080/test-app/myController/addItem', { json values})
    .success(function(response) {})
    .error(function(response) {});

class MyController {
    def addItem() {}
}

答案 1 :(得分:0)

在我的pastbin代码中,我看到了,您从浏览器发送列表并处理服务器代码中的单个项目。这可能是问题吗?

答案 2 :(得分:0)

根据您的代码,您没有从angular传递request.JSON.id。

                              {                                
                                 id: 1
                                 name: $scope.thing,
                                 type: $scope.worktypeSelection,
                                 priority: $scope.prioritySelection,
                                 completed: false
                                }