Jquery Rails-Ajax调用控制器操作并重定向到另一个控制器
我正在构建一个rails应用程序,我想创建一个加载页面,然后在加载页面中获取用户的位置,并将其传递到下一个页面。我现在正在做的是:Jquery Rails-Ajax调用控制器操作并重定向到另一个控制器,jquery,ruby-on-rails,ajax,Jquery,Ruby On Rails,Ajax,我正在构建一个rails应用程序,我想创建一个加载页面,然后在加载页面中获取用户的位置,并将其传递到下一个页面。我现在正在做的是: <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> function getLocation() { if (navigator.geolocation) {
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script>
function getLocation() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(showPosition);
}
}
function showPosition(position) {
$.ajax("/welcome/send")
}
</script>
<body onload="getLocation()"></body>
函数getLocation(){
if(导航器.地理位置){
navigator.geolocation.getCurrentPosition(showPosition);
}
}
功能显示位置(位置){
$.ajax(“/welcome/send”)
}
因此,我使用ajax在控制器welcome中调用send操作,这在welcome控制器中
class WelcomeController < ApplicationController
require 'barometer'
def index
end
def send
redirect_to(:controller => 'top', :action => 'index')
end
end
class WelcomeController'top',:action=>'index')
结束
结束
我想测试它,如果我真的可以调用该操作,并将其重定向到另一个页面或不,但它不工作。我也已经将顶部控制器添加到路由中,我可以直接访问它
这里有人知道怎么做吗?我还将听到关于如何实现主要目标的任何其他想法(使用地理定位获取用户的位置并将其传递给控制器)
谢谢 为什么不直接重定向到TopController索引具有的路由?类似于:
redirect\u to tops\u path
或redirect\u to“{the path of tops index}”
作为字符串。@Omni感谢您的建议,但仍然失败。如何检查发送操作是否正确调用?谢谢我倾向于通过在操作中放入put
语句来查看操作是否正在运行。如果操作正在运行,它应该出现在服务器输出中。@Omni和yes调用它。你知道吗?目前它所做的只是AJAX调用命中该方法,它只会重定向用户。重定向不会将任何数据传递给它重定向到的操作。我不知道如何以有效的方式具体处理这个案件。