从js访问插件控制器

时间:2012-06-15 11:47:07

标签: javascript jquery grails plugins

我想创建一个插件。在我的插件中,我必须从我的函数中调用控制器动作。下面是ajax调用的片段,它位于单独的js文件中。

    $.ajax({
            type:'POST',
            url:"/wf-taglibs/refTagLib/getDescriptionByCode",
            data:{
                'code':code,
                'beanClass':beanClassAttribute
            },

            success:function (data) {
                $('#' + updateFieldAttribute).text(data);
            },
            error:function (xhr, ajaxOptions, thrownError){
                alert(xhr.status);
                alert(thrownError);
            }
        });

我遇到了网址问题。 url:“/ wf-taglibs / refTagLib / getDescriptionByCode”,作为响应,我们得到“找不到请求的页面”。

1 个答案:

答案 0 :(得分:2)

我不会硬编码这样的URL,而是在我的gsp中声明一个指向正确的控制器/动作的js变量,然后让我的js代码使用该变量。

var getDescriptionEndpoint = "${createLink(controller:'x', action:'x')}";

然后在进行ajax调用的js代码中使用该变量。 这样它也会考虑反向url映射。

虽然这不是一个好主意,但如果你想直接将你的变量声明到js文件中 - 换句话说 - 如果你想将你的js文件视为gsp - 请参阅gsp-ass插件