2017-06-15 3 views
0

Ocsigenを使用してアプリケーションを構築していますが、このアプリケーションはデータベースに接続されておらず、メインWebサイトのコンテンツをここにコピーすることを目標としています。 (私はカールを使用してリクエストをしています)GET/POSTサービスの作成Ocsigen

ここで私の問題は、私はユーザーで "ログイン"しようとしています。私のコードに保存するサービスを構築したいのですが、usernameとユーザーによって導入されたpassword。次に、usernamepasswordを使用して、メインのWebサイトにGETリクエストを行います。

私の問題は1つだけです。私は、この2つの文字列を保存するサービスを構築するために多くの方法を試しましたが、方法を理解できません。

私はdiferent試みの多くを行なったし、私の最後の一つは、私は次のようなものでした:...

Ocsigenが彼らのウェブサイト上で持っていますが、私は動作しないことを例に基づいて

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) 

作成したサービスを正常に実行しているフォームを作成しましたが、必要なサービスを実行できません。

申し訳ありませんが、状況をひどく説明した場合...この問題を解決する方法はありますか。私は間違った方向に行きますか?

Thnx!

PS:Ocsigen-Start srcフォルダのOs_services.connect_serviceフォームを編集しようとしましたが、このケースに対して投稿サービスを行う必要があると思いますが、やり直しができません。

答えて

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

それが役立ちます!ありがとうございます –

関連する問題