【发布时间】:2012-03-29 05:55:22
【问题描述】:
我知道这是一个经常出现/经典的话题,但到目前为止我没有找到任何对我有帮助的东西。 我正在尝试从我的控制器渲染地图。这是由 Ajax 请求引起的,应该被 Javascript 函数“onSuccess”“吃掉”。
这是我的 Javascript 和 .gsp 视图:
<g:javascript>
function updateVideoLoad(e) {
var map = eval("("+e.responseText+")") // evaluate the JSON
$('#resultsChecker').html(map.urlAccepted + ' - ' + map.provider + ' - ' + map.videoId + ' - ' + map.videoTag)
}
</g:javascript>
<g:formRemote name="myForm" update="" url="[controller: 'project', action:'addVideo']" onSuccess="updateVideoLoad(e)">
...
</g:formRemote>
这是我的控制器:
import grails.converters.JSON
class ProjectController {
def addVideo() {
...
def videoMap = [urlAccepted: videoList[0], provider: videoList[1], videoId: videoList[2], videoTag: videoList[3]]
render videoMap as JSON
}
在我看来,它与Grails documentation 中提供的示例完全相同。 但是它不起作用。在浏览器控制台上,我得到:
Uncaught ReferenceError: e is not defined
来自我的g:remoteForm。
欢迎提出任何建议。 感谢您的帮助。
【问题讨论】:
-
这是代码或问题中的拼写错误吗?
!= -
对不起,我编辑了帖子以更正它。这不在原始代码中。
标签: javascript json grails controller render