我正在尝试使用 Event Wource API 和 Action 控制器实时实现基本的 Rails 4 代码。一切都很好,但我无法联系到事件监听器。
控制器代码:
class HomeController < ApplicationController
include ActionController::Live
def tester
response.headers["Content-Type"] = "text/event-stream"
3.times do |n|
response.stream.write "message: hellow world! \n\n"
sleep 2
end
end
js代码:
var evSource = new EventSource("/home/tester");
evSource.onopen = function (e) {
console.log("OPEN state \n"+e.data);
};
evSource.addEventListener('message',function(e){
console.log("EventListener .. code..");
},false);
evSource.onerror = function (e) {
console.log("Error State \n\n"+e.data);
};
当我重新加载页面时,我的控制台输出是"OPEN state" & 然后是 "Error State"。事件侦听器代码未显示。
当我卷曲页面时,“消息:Hellow world!” 正在显示。
我改变了 development.rb
config.cache_classes = true
config.eager_load = true
我的浏览器是 chrome,firefox 是最新版本,所以没有问题
我在哪里失踪?请提出建议!