2017-06-15 52 views
0

我正在使用Ocsigen构建应用程序,此应用程序不会连接到数据库,目标是将内容从主网站复制到此处。 (我正在使用卷曲来做Get请求)创建GET/POST服务Ocsigen

所以我的问题在于,我试图做一个“登录”与用户,我想建立一个服务,保存到我的代码usernamepassword由用户引入。然后我可以使用usernamepassword对主网站进行GET请求。

我的问题只有一个,我尝试了很多方法来建立一个服务,保存这两个字符串,但我不知道一种方式。

我做了很多尝试diferent的,我的最后一个我不喜欢的东西如下:

let save_data = 
    Eliom_registration.Action.create 
    ~meth: 
     (Eliom_service.Post 
     (Eliom_parameter.unit, 
      Eliom_parameter.string "username")) 
    ~path:Eliom_service.No_path 
    (fun() username -> username) 

基础上Ocsigen已在其网站上,但我不工作...

为例

我创建了一个成功执行我创建的服务的表单,但该服务从未做我所需要的。

对不起,如果我解释不好的情况......有什么想法如何解决这个问题?我走错了路?

Thnx! PS:我也尝试编辑Os_services.connect_service形式的Ocsigen-Start src文件夹,我想我必须对这种情况做一个Post服务,但是我又没有做到我想做的。

回答

1

我想你要找的是Eliom_reference,也就是说,如果你希望保存信息以备后用。

https://ocsigen.org/eliom/api/server/Eliom_reference

我有点有点生疏,当涉及到Eliom,但它应该是这样的:

let current_username : string option Eliom_reference.eref = 
    Eliom_reference.eref ~scope:Eliom_common.default_process_scope None 

let save_data = Eliom_registration.Action.create 
    ~meth:(Eliom_service.Post 
      (Eliom_parameter.unit, 
      Eliom_parameter.string "username")) 
    ~path:(Eliom_service.No_path) 
    (fun() username -> Eliom_reference.set current_username (Some username)) 
+0

它帮助!谢谢 –