圣杯&x2B;jQuery:FormRemoteOnSuccess

圣杯&x2B;jQuery:FormRemoteOnSuccess,jquery,forms,grails,Jquery,Forms,Grails,我正在努力解决onSuccess方法,以及如何正确调用自定义JavaScript函数 我有以下formRemote元素: <g:formRemote name="userSearchRemoteForm" url="[controller: 'userSearch', action: 'ajaxFindUser']" onLoading="jQuery('#userSearchSubContainerH

我正在努力解决
onSuccess
方法,以及如何正确调用自定义
JavaScript
函数

我有以下
formRemote
元素:

<g:formRemote name="userSearchRemoteForm"
                      url="[controller: 'userSearch', action: 'ajaxFindUser']"
                      onLoading="jQuery('#userSearchSubContainerHeadLoaderImage').show()"
                      onSuccess="createUserTable(data)"
                      onComplete="jQuery('#userSearchSubContainerHeadLoaderImage').hide()">
....</g:formRemote>
我的
JavaScript
函数
createUserTable
如下所示:

function createGuestTable(data) {
console.log(data);
}
onSuccess="createUserTable()"
我在WebDev工具中看到的只是以下响应:

POST http://localhost:8080/GrailsTest001/userSearch/ajaxFindUser 404 (Not Found)
我的函数从未被调用过。我还尝试调用
onSuccess
中的
JavaScript函数,如下所示:

function createGuestTable(data) {
console.log(data);
}
onSuccess="createUserTable()"
但我还是得到了同样的结果

我做错了什么


编辑:清除问题-这是我的
控制器
功能:

def ajaxFindUser(UserSearchCommand userSearchCommand) {
    println("... in ajaxFindUser()")
    def result = [:]

    if (userSearchCommand.hasErrors()) {
        result['fail'] = "Error in search values!"
    } else {
        println("... creating values for search...")
        def user = (User) session.getValue(theUser)
        def inputMap = createInputMap(userSearchCommand)

        def foundUsers = userSearchService.findUser(user.connectionID, user.language, inputMap)

        if (foundUsers == null) {
            println("... search returned NULL!")
            result = [:]
            result['fail'] = userSearchService.getError()
        } else {
            println("... search returned VALUES!!")
            result['success'] = foundUsers
        }
    }

    def jResult = result as JSON

    println(".... returning JSON: ${jResult.toString(true)}")
    return jResult
}
天哪! 我当时正面临这个问题,但根本没有意识到这是个问题

我刚刚将我的
ajaxFindUser
函数的最后一行从

return jResult

使用以下
onSuccess
参数

onSuccess="createUserTable(data)"
一切都很顺利


很抱歉…

表示找不到页面,如果将此链接直接放在浏览器地址栏中会有什么结果?但如果无法访问控制器函数,为什么会调用它?我必须返回
对象以外的
JSON
对象吗?我是否必须告诉控制器不要渲染任何特定内容?事实上,如果我尝试在浏览器中键入url,我也会得到404,但对我来说这很清楚,因为控制器函数所做的一切就是获取一个
命令
对象,并在成功或失败时返回一个
JSON
对象,所以它无法访问-或者不可以?