【问题标题】:How to place returned JSON data in a HTML Form如何将返回的 JSON 数据放入 HTML 表单中
【发布时间】:2018-09-05 09:51:46
【问题描述】:

我需要将返回的JSON 数据放入 HTML 表单中。我使用 Web 服务调用数据库并获取 JSON 数据。我想要的是将这些 JSON 数据放入 HTML 输入字段中。

示例 JSON 数据(以数组形式返回)

[{"username":"demo","email":"demo@gmail.com","password":"123"}]

List.jsp 中的代码

<form>
    Enter Username:<br>
    <input type="text" id="usernameEn" name="username"><br>
    <button id="btnGet">Get</button>
</form>
    <br><br>
<form>
    Username:<br>
    <input type="text" id="username" name="username"><br>
    Email:<br>
    <input type="text" id="email" name="email"><br><br>
    Password:<br>
    <input type="text" id="password" name="password"><br><br>
</form>

<script type="text/javascript">
    $(document).ready(function()
    {
        $("#btnGet").click(function(event) 
        {
            event.preventDefault();

        $.ajax({
            type: 'GET',
            url:  "http://localhost:8080/WebServiceTest2/webresources/users/get/" + $('#usernameEn').val(),
            dataType: "json",
            success: function(data) {
                console.log(data);
                var userDetails = data;
                renderDetails(userDetails);
            },
            error: function(jqXHR, textStatus, errorThrown) {
                alert('Error: ' + textStatus);
            }
        });
    });
});

function renderDetails(data)
{
    $('#username').val(data.username);
    $('#email').val(data.email);
    $('#password').val(data.password);
};
</script>

【问题讨论】:

    标签: java json ajax jax-rs


    【解决方案1】:

    您的 REST 服务正在返回一个数组,因此要填充表单,您必须访问该数组的第一个元素:

    $('#username').val(data[0].username);
    $('#email').val(data[0].email);
    $('#password').val(data[0].password);
    

    或者你可以做更高的任务,这样你就不必改变你的renderDetails()函数:

    var userDetails = data[0];
    

    最好还添加一个检查以查看返回的数组是否不为空。

    【讨论】:

    • 成功了。谢谢,罗比科内利森。以及如何添加一系列数据,例如 [{"username":"demo","email":"demo@gmail.com","password":"123"},{"username":"demo2", "email":"demo2@gmail.com","password":"123"},{"username":"demo3","email":"demo3@gmail.com","password":"123"} ]
    猜你喜欢
    • 2018-05-13
    • 2012-01-24
    • 1970-01-01
    • 1970-01-01
    • 2011-03-03
    • 2012-10-12
    • 2018-05-23
    • 2015-01-19
    • 1970-01-01
    相关资源
    最近更新 更多