Ответ Ajax успешен, но страница не обновляется с частичным ответом - PullRequest
0 голосов
/ 26 мая 2019

Этот инструмент поиска акций в моем приложении Rails работал, а затем что-то случилось (кажется, я что-то сделал, не знаю, что), и теперь он не работает.Вызов ajax успешен, и я даже вижу ответ, полностью отформатированный и все остальное в Chrome Dev Tools.Этот HTML-код является частичным, который должен заполнять страницу после вызова действия, содержащего ajax.

Частичный результат

<% if @stock %>
    <div class="bg-grey-lightest mx-auto py-6 shadow shadow-lg w-1/2">
      <p class="flex justify-between px-16 py-3 normal-font"><strong>Symbol:</strong> <%= @stock.company_name%></p>
      <p class="flex justify-between px-16 py-3 normal-font"><strong>Name:</strong> <%= @stock.symbol%></p>
      <p class="flex justify-between px-16 py-3 normal-font"><strong>Price:</strong> <%= @stock.latest_price%>&nbsp;</p>
<% end %>

Страница поиска основного запаса

      <%= form_tag search_stocks_path, remote: true, method: :get do %>
      <div id="stock-lookup-form">
        <div>
          <div class="w-96 sm:w-full mr-1 sm:mr-0 sm:mb-1 z-20">
            <%= text_field_tag :stock, params[:stock], placeholder: "Stock ticker symbol", autofocus: false,
                  class: "bg-grey-lighter appearance-none border-2 border-yellow-offset hover:border-grey-dark rounded-sm py-4 px-6 sm:w-1/2 md:1/4 lg:w-1/4 text-black text-center" %>
          </div>
          <div>
            <%= button_tag(type: :submit, class: "bg-white block border border-red-darker hover:bg-red-darkest burgandy hover:text-red-lightest mx-auto my-4 no-underline normal-font py-3 rounded shadow-lg w-48") do %>
            <i class="fa fa-search"></i> Search Stock Prices
            <% end %>
          </div>
          <% end %>
          <div id="results">
            <%= render 'layouts/result' %>
          </div>
        </div>
      </div>

<script>
$(document).ready(function(){
  $('#stock-lookup-form').on('ajax:complete', function(event, data, status){
    $('#results').html(data.responseText);
  });
}); 
</script>

Rails Action

class StocksController < ApplicationController

  def search
    if params[:stock].blank?
      flash.now[:danger] = "You have entered an empty search string"
    else
      @stock = Stock.new_from_lookup(params[:stock])
      flash.now[:danger] = "You have entered an incorrect symbol" unless @stock
    end
    render partial: 'layouts/result'
  end
end

Как я уже сказал, запрос выполнен успешно, я не получаю ошибок в консоли, и ответ выглядит точно так, как я хочу.Частичный div просто остается пустым, он не обновляется.

Imgur Imgur

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...