4

我想创建一个插件。在我的插件中,我必须从我的函数中调用控制器操作。下面是 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",作为响应,我们得到“未找到请求的页面”。

4

1 回答 1

2

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

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

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

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

于 2012-06-15T14:02:30.697 回答