ajax – SCALA Lift – S.tram访问Comet Actor

我正在尝试检索CoMetactor中的url参数以验证数据源是否与目标匹配,例如用户从房间A发送消息,该消息应该仅在房间A中接收和显示,而不是在B或C中.

我试过了:

S.param("message").openOr("")

但它总是空的,可以这样做吗?或者是否有另一种方法可以阻止彗星消息进入他们不应该去的地方?

在此先感谢任何帮助,非常感谢:)

CoMetactors存在于会话之外,因此无法访问(大部分)它.解决方案是使用包含所需会话数据的初始化消息初始化actor.可能会在LiftRules中使用某种帮助器来做到这一点.我在手机上并从记忆中重述这一点,但希望它足以继续下去.

具体来说,你将要做的事情如下:

for (
  session <- S.session
  message <- S.param("message")
) {
  session.setupComet("myCoMetactor",Some("unique name,if you want it"),message)
}

在你的Boot.scala中.

查看LiftSession多一点.我认为可能有一种方法可以挂钩到LiftRules,以便在创建会话时调用相关代码

更新:如果我们发送一个包含以下内容的案例类,那么这就是您的CoMetactor的样子:

// ...
session.setupComet(
  "myCoMetactor",Message(message)
)
// ...
case class Message(text: String)

class CometMessage extends CoMetactor { 
  override def lowPriority = {
    case Message(text) => {
      // do something here with the text,whether settings a SessionVar or even just a plain var
    }
  }
}

相关文章

JS原生Ajax操作(XMLHttpRequest) GET请求 POST请求 兼容性问题 利用iframe模拟ajax 实现表单提交的返回...
AJAX 每日更新前端基础,如果觉得不错,点个star吧 &#128515; https://github.com/WindrunnerMax/E...
踩坑Axios提交form表单几种格式 前后端分离的开发前后端, 前端使用的vue,后端的安全模块使用的SpringSe...
很早就听闻ajax的名声,但是却一直不知道怎么用,今天自己捣鼓了一下,竟然会用了,哈哈哈哈。 为了防止...
需要在服务器上进行哈 jquery的ajax方法: // jquery请求 $.ajax({ url: &quot;./server/slider.js...
Ajax函数封装ajax.js // Get / Post // 参数 get post // 是否异步 // 如何处理响应数据 // URL // var...