【问题标题】:How can i get a value from the controller to my gsp page using AJAX如何使用 AJAX 从控制器获取值到我的 gsp 页面
【发布时间】:2022-09-16 03:57:10
【问题描述】:

我是 AJAX 和 grails 的新手,因此不胜感激。在我的 GSP 页面上,单击按钮我试图从控制器中检索一个变量:

$.ajax({
                url:'${createLink(controller: 'store', action: 'getNum')}',
                type: 'GET',
                dataType: 'json',
                data: {num: num}, // the num is defined before and access properly
                error: function() {
                    alert("error");
                },
                success: function(data) {
                    alert(data);
                }
            });

这是我的控制器功能:

    def getNum(){
        String num = params.num
        Long locnum = num as Long
        int result = storeService.getNum(locnum)
        String json = JsonOutput.toJson([count: result])
        return json
    }

我将进入错误并收到“错误”警报。我想知道如何利用 AJAX 来获取我的 GSP 页面所需的号码?

谢谢你。

【问题讨论】:

    标签: ajax grails gsp


    【解决方案1】:

    我会像这样修改你的 JavaScript 代码:

    $.ajax({
        url:'store/getNum',
        method: 'POST'
        data: {'num': num}, // the num is defined before and access properly
        error: function() {
            alert("error");
        },
        success: function(data) {
            alert(data);
        }
    });
    

    然后像这样修改你的 Grails 控制器代码:

    def getNum() {
        Long locnum = = params.long('num')
        int result = storeService.getNum(locnum)
        return render([count: result] as JSON) // you will need to import grails.converters.JSON
    }
    

    未来的一个提示是在您的 Grails 控制器方法中设置断点并在调试模式下运行应用程序以确保正在调用控制器方法。如果它没有被调用,请单击 Internet 浏览器的开发人员工具上的网络选项卡,然后按 GSP 页面上的按钮以检查 AJAX 调用发出的 HTTP 请求。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-02-06
      • 2012-10-15
      • 1970-01-01
      • 2011-08-31
      • 1970-01-01
      相关资源
      最近更新 更多