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];

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

相关文章

IE6是一个非常老旧的网页浏览器,虽然现在很少人再使用它,但...
PHP中的count()函数是用来计算数组或容器中元素的个数。这个...
使用 AJAX(Asynchronous JavaScript and XML)技术可以在不...
Ajax(Asynchronous JavaScript and XML)是一种用于改进网页...
本文将介绍如何通过AJAX下载Excel文件流。通过AJAX,我们可以...
Ajax是一种用于客户端和服务器之间的异步通信技术。通过Ajax...