更新:我已将此错误隔离到在此选择中注册 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"/>
到您的页面。
关于grails - 未配置 javascript 提供程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18344660/