【问题标题】:Use returned JSON from database in HTML with Play framework在 Play 框架中使用从 HTML 中的数据库返回的 JSON
【发布时间】:2016-10-03 13:46:16
【问题描述】:

我正在尝试登录以处理我的项目,但我找不到任何有关如何显示返回到网页的 JSON 字符串的信息。

我的代码:

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":"test@test.com","password":"test123"}

显示在“localhost:9000/weblogin”的空白 html 页面上。

为了以后的工作,当我在登录详细信息中添加“名字”或“用户名”时,如何将它们显示在网页顶部,并在页面的其余部分显示其他 HTML 代码?

类似于 Facebook,在右上角显示您的姓名,然后在页面的其余部分您可以浏览 facebook。

我必须使用 Javascript 吗?那么,如何让js找到返回的JSON字符串呢?

【问题讨论】:

  • 阅读一下 AJAX 如何使用 javascript 工作

标签: javascript java html json playframework


【解决方案1】:

您必须在 javascript 中执行 AJAX 查询。这与 Play 无关。 jQuery 示例:

$.getJSON("/weblogin",function(data){
  $("#email").text(data.email)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-01
    • 1970-01-01
    • 2013-05-28
    • 1970-01-01
    • 2012-12-28
    相关资源
    最近更新 更多