当前位置: 首页 > 面试题库 >

Grails:完成Ajax调用后,页面将不会重定向

田德运
2023-03-14
问题内容

这是我的ajax电话: <body onload = "${remoteFunction(controller:'accountManagement', action:'createAccount', params:[facebookUID: params.facebookUID, gender: params.gender, firstName: params.firstName, lastName: params.lastName])}">

在我的控制器中,最后有一个重定向指令:

def createAccount = {

    if(user.save(flush:true) == null){
        ... 
    }
    else{
        ....

        for(int i = 0; i < categories.length; i++){
            ...
        }

        println "save to database: successful"

    }

    // Redirect to index action of person controller.
    redirect(controller:'user', action: 'authenticate');


}
`

它不会重定向。取而代之的是,它停留在与开始时相同的加载页面上。


问题答案:

如果AJAX调用返回重定向,浏览器将不会重定向。如果您想在AJAX调用后将用户发送到新页面,则需要使用Javascript进行操作。例:

def url = createLink(controller: 'user', action: 'authenticate')
render(contentType: 'text/html', text: "<script>window.location.href='$url'</script>")

确保浏览器呈现AJAX响应。使用grails
remoteFunction标签,您应该指定一个元素以使用该update属性进行更新。



 类似资料:
  • 我使用的是和和。一切都很好,但是当会话超时的时候,我会得到以下错误”,因为我已经在布局的main.gsp文件中调用了session变量。现在,我希望在每次会话超时后重定向到登录页面,并且不显示错误页面。要在会话超时后重定向,我已经在文件中这样做了 但是有这么多页,所以很难写每一页。还有其他的方法做这件事吗?请帮忙。

  • 问题内容: 基本上,一旦用户在我的应用程序中离开了网页,我就需要使用AJAX调用PHP脚本,这会将在网页上花费的时间插入数据库中,然后离开该页面。 重要的是要等待AJAX​​请求完成,因为用户无法访问我的应用程序中的网页,除非用户在前一页上花费了一定的时间(例如两分钟)。 这是我的jQuery代码: 我应该如何更改它,以便它将在离开网页之前等待AJAX​​请求结束? 编辑: 或者,最好每隔一分钟左

  • 问题内容: 成功的ajax调用后,我在重定向/重新加载时遇到一些问题。情况如下: 我有要删除的项目保存在数组中。当我单击一个按钮时,它将通过ajax调用PHP文件,成功后,我需要重新加载页面。但是我在这样做时有一些问题。我在互联网上搜索,找不到有效的解决方案。 我有PHP文件,该文件通过数组从数据库中逐项删除。 另外,我有jQuery部分: 我的意思是,该代码有效,但效果不佳。它会删除项目,但不是

  • 问题内容: 我是ajax的新手。我试图将请求从我的gsp页面发送到控制器操作。但是我失败了。它没有调用控制器操作,并且页面正在重新加载。任何人都可以看看这个并提供帮助。这是我的以下页面>>> 这是我的控制器动作>>> 问题答案: 您可以尝试以下方法: 或这一个: 根据要求完成ajax调用:

  • 如果用户是ROLE_USER,则在注销后,他将被重定向到viewsuser/homepage.gsp中的主页 我无法根据用户角色获得任何自定义身份验证重定向。

  • 问题内容: 我有一个数据表。表中的每一行都有一个称为 “删除” ,这是为了从模型和视图中删除该行和执行就地更新。作为页脚,我还有一个叫做 “删除每一行” 。 最后一个按钮起作用。我单击它,从模型中删除每一行(即,包含元素的元素变为空),并在视图中将其重新渲染(或更新)。 另一方面,当我单击某一行上的按钮以将其删除时,它会部分起作用。相应的元素已从模型中删除,但视图未更新。该行仍在中,并且未更改。