如何在控制器代码从 API 获取数据时向用户显示 "Fetching data" 文本?
How to display "Fetching data" text to user while controller code is fetching data from API?
我的控制器有一个如下所示的操作方法:
class PlansController < ApplicationController
def new
@plan = Plan.new
# This API takes a long time, around 6 seconds
@plan_data = API.get_relevant_data(current_user)
respond_to :html
end
end
当用户点击'Create plan'按钮时,它会到达这个new
动作,当它到达API.get_relevant_data时,需要6秒才能完成,我想显示'Fetching data' 发生这种情况时向用户发送。
如何在用户在浏览器中看到的 HTML 页面中显示它?
我建议在这里使用 ajax
。
与其使用直接 http
请求 new
操作,不如发送一个 ajax
。只要新操作不响应数据,您就可以在此处显示加载屏幕。
我的控制器有一个如下所示的操作方法:
class PlansController < ApplicationController
def new
@plan = Plan.new
# This API takes a long time, around 6 seconds
@plan_data = API.get_relevant_data(current_user)
respond_to :html
end
end
当用户点击'Create plan'按钮时,它会到达这个new
动作,当它到达API.get_relevant_data时,需要6秒才能完成,我想显示'Fetching data' 发生这种情况时向用户发送。
如何在用户在浏览器中看到的 HTML 页面中显示它?
我建议在这里使用 ajax
。
与其使用直接 http
请求 new
操作,不如发送一个 ajax
。只要新操作不响应数据,您就可以在此处显示加载屏幕。