更新:我已将此错误隔离到在此选择中注册 onchange 事件。如果我删除 onchange,页面将无错误地呈现,否则我会得到 没有 javascript 提供程序 错误。

<g:select optionKey="id" optionValue="name" name="course" id="course" 
   from="${com.TourneyCard.Course.list(sort:'name')}" value="${homeCourse.id}" 
   onchange="${remoteFunction(controller:'foursome', action:'ajaxGetTeesJSON', 
     params:'\'id=\' + escape(this.value)',  
     onSuccess:'updateTees(data);')}"> 
</g:select> 

由于各种原因,我想使用资源插件而不是 jQuery 插件来包含 jQuery。它大部分都在工作,但我有一个不会呈现的页面,而是发出错误 未配置 javascript 提供程序 .

我的 ApplicationResources.groovy 定义了 jquery:
jquery { 
    resource url: 'js/jquery/jquery-1.9.1.min.js', disposition: 'head' 
} 

我的 main.gsp 布局如下所示:
<head> 
    <g:layoutHead/> 
    <g:javascript library="jquery"/> 
    <r:require module="jquerymobile"/> 
    <r:layoutResources /> 
</head> 

发出提供者未配置错误的页面如下所示:
<head> 
    <meta content="main" name="layout"> 
    <r:require modules="jqmdatebox,jqmgrid960,updateTees"/> 
    .... 
</head> 
<body> 
    .... 
    <g:javascript> 
        var zselect = document.getElementById('tee') 
        var zopt = zselect.options[zselect.selectedIndex] 
    </g:javascript> 
</body> 

请您参考如下方法:

由于您手动设置 JQuery 资源,因此无需设置:

<g:javascript library="jquery"/> 

相反,只需要你的模块:
<r:requires module="jquery, jquerymobile"/> 

编辑

查看您的新信息,我认为您的问题在于 remoteFunction方法。因为它需要知道您正在使用哪个 javascript 库。尝试添加 <g:setProvider library="jquery"/>到您的页面。


评论关闭
IT序号网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!