微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 如何将返回的JSON数据放在HTML表单中

我需要将返回的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>

解决方法:

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

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

或者您可以更高级别地完成任务,这样您就不必更改renderDetails()函数

var userDetails = data[0];

可能最好也添加一个检查以查看返回的数组是否为空.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐