2016-10-03 3 views
0

私のプロジェクトではログインを取得しようとしていますが、Webページに返されたJSON文字列を表示する方法に関する情報は見つかりません。返されたJSONをPlayフレームワークのHTMLでデータベースから使用します

マイコード:

Security.java:

public Person webLogin(Person p){ 
    Query q = JPA.em().createQuery("select p from Person p"); 
    List<Person> results = q.getResultList(); 
    if(!results.isEmpty()){ 
     for(Person person : results){ 
      if(person.email.equals(p.email) && person.password.equals(p.password)){ 
       return person; 
      } 
     } 
    } 
    return null; 
} 

Application.java:

public Result webLogin() { 
    Person person = Form.form(Person.class).bindFromRequest().get(); 
    Person authenticatedPerson = security.webLogin(person); 

    if(authenticatedPerson != null){ 
      return ok(toJson(authenticatedPerson)); 
    } 
    return ok(); 
} 

Routes.conf:私は結果を得るか

# Routes 
# This file defines all application routes (Higher priority routes first) 
# ~~~~ 

# Home page 
GET /       controllers.Application.index() 
POST /login      controllers.Application.login() 
POST /weblogin     controllers.Application.webLogin() 

# Map static resources from the /public folder to the /assets URL path 
GET  /assets/*file    controllers.Assets.at(path="/public", file) 

{"id":3,"email":"[email protected]","password":"test123"} 

"localhost:9000/weblogin"の空白のhtmlページに表示されます。

今後の作業として、「Firstname」または「Username」をログインの詳細に追加すると、Webページの上部にそれらを表示し、残りのページに他のHTMLコードを挿入するにはどうすればよいですか?

Facebookに似ていますが、右上にあなたの名前が表示され、残りのページではFacebookをナビゲートできます。

Javascriptを使用する必要がありますか?その場合、jsに返されたJSON文字列を見つける方法を教えてください。

+0

JavaScriptを使用してAJAXがどのように動作するかを読んでください – charlietfl

答えて

0

javascriptでAJAXクエリを実行する必要があります。これはPlayとは関係ありません。 jqueryを使用した例:

$.getJSON("/weblogin",function(data){ 
    $("#email").text(data.email) 
} 
関連する問題