首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对rail 3的远程link_ to的…如何响应有点困惑

对rail 3的远程link_ to的…如何响应有点困惑
EN

Stack Overflow用户
提问于 2013-03-13 23:09:42
回答 2查看 57关注 0票数 0

我一直在表单上使用rails remote => true。在jquery中,我使用'ajax:before''ajax:success'来获取页面上的事件,并在控制器中执行以下操作来响应ajax或html调用:

代码语言:javascript
运行
复制
format.html{
    redirect_to xxxx_path
}
format.json { 
    render :json => { :something => true }
}

然而,我似乎有很多问题,在链接上放置远程真。

当我在一个链接上设置为remote true时,如果我执行formal.json (如下),控制器将响应它,没有任何get被触发:

代码语言:javascript
运行
复制
format.json { 
    render :json => { :something => true }
}

如果我这样做了:

代码语言:javascript
运行
复制
format.js{  }

…在控制器中,jquery中有一个响应。但是,不调用'ajax:success'事件,只调用'ajax:complete',这是不正确的。

我想知道如何在Rails3中设置一个远程链接,如果链接是远程的或者只是一个普通的html调用,我可以在控制器中以不同的方式进行响应。所以对远程链接用json响应,对普通链接用html响应。如何让jquery获得'ajax:success‘响应?我对它是如何工作的有点困惑。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-03-14 00:48:10

你能缩小你的问题范围,提供代码吗?

在上面的代码中,‘ajax: the’应该是'ajax:beforeSend‘。

在您的控制器中,您可以使用以下内容测试请求是否为ajax

代码语言:javascript
运行
复制
if request.xhr?
  render nothing: true
else
  redirect_to @your_object
end

您应该将格式添加到您的远程链接,以确保控制器知道要回答什么

代码语言:javascript
运行
复制
:'data-type' => 'html'
票数 1
EN

Stack Overflow用户

发布于 2013-03-14 00:46:22

我认为您可能需要在url中指定json格式。

例如:

代码语言:javascript
运行
复制
<%= link_to some_path(format: :json, remote: true) %>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15389092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档