我想创建一个插件。在我的插件中,我必须从我的函数中调用控制器动作。下面是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”,作为响应,我们得到“找不到请求的页面”。
答案 0 :(得分:2)
我不会硬编码这样的URL,而是在我的gsp中声明一个指向正确的控制器/动作的js变量,然后让我的js代码使用该变量。
var getDescriptionEndpoint = "${createLink(controller:'x', action:'x')}";
然后在进行ajax调用的js代码中使用该变量。 这样它也会考虑反向url映射。
虽然这不是一个好主意,但如果你想直接将你的变量声明到js文件中 - 换句话说 - 如果你想将你的js文件视为gsp - 请参阅gsp-ass插件