Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery Rails-Ajax调用控制器操作并重定向到另一个控制器_Jquery_Ruby On Rails_Ajax - Fatal编程技术网

Jquery Rails-Ajax调用控制器操作并重定向到另一个控制器

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) {

我正在构建一个rails应用程序,我想创建一个加载页面,然后在加载页面中获取用户的位置,并将其传递到下一个页面。我现在正在做的是:

<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调用命中该方法,它只会重定向用户。重定向不会将任何数据传递给它重定向到的操作。我不知道如何以有效的方式具体处理这个案件。