Код AJAX заканчивается «Get # ADRESS # 404» - PullRequest
1 голос
/ 23 апреля 2019

Я новичок в программировании 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 Ответ

1 голос
/ 24 апреля 2019

Во-первых, вам нужно добавить dataType: 'json' в ваш javascript, более подробную информацию вы можете прочитать здесь "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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...