AJAX代码以“获取#ADRESS#404”结尾

时间:2019-04-23 20:52:01

标签: javascript ruby-on-rails ajax

我是Rails编程的新手,正在我的第一个项目上工作。我有一个简单的Rails应用程序,我想通过调用控制器函数来更新页面。目前,我只是想调用一个简单的测试,但是它仍然失败。似乎我正在根据可以在SO上找到的一些稀疏信息来做所有事情。

我正在尝试各种路由配置,但无济于事。

我的代码(片段):

路线

#routes.rb
  resources :stations do
    get :test, on: :collection
  end
  get '/stations/test' => 'stations#test'

控制器

#stations_controller.rb

def test
      puts "Printing from Controller"
      return 346
end

索引

#index.html.erb
       Latitude: <input type="number" name="destinationLatitude" id="destinationLatitude"step="0.001" value="52.200022"><br>
 <button type="button" onclick="test(document.getElementById('destinationLatitude').value)"> Find A Test!</button>
.
.
.
  <script type="text/javascript">
function test(destLat){
  new Ajax.Request('/stations/test', {
      method: 'get',
      parameters: {
      // destLat: destLat,
    },
    onSuccess: function (response){
      console.log('@@KAKAC ' + response.responseText)

    }
    });
}
</script>


我想最终传递一些坐标,并让我的后端计算一条路线...尽管现在我只希望后端返回任何东西。欢迎所有帮助,谢谢!

1 个答案:

答案 0 :(得分:1)

首先,您需要添加 dataType:JavaScript的“ json”,更多信息,请点击此处“ http://api.jquery.com/jquery.ajax/

此示例适用于您的代码

function test(destLat){
  $.ajax({
        url: '/users/new',
        dataType: 'json',
        processData: false,  
        success: function(data) {
          console.log( data.message )
        }
      });
}

在控制器中

def test
     respond_to do |format|
      format.json do
        render :json => {
            :status => :ok,
            :message => "Success!",
            :html => "<b>congrats</b>"
        }.to_json
      end
    end
end