java如何将返回的JSON数据放在HTML表单中
我需要将返回的JSON
数据放在HTML格式中。我使用web服务调用数据库并获取JSON数据。我想要的是将这些JSON数据放入HTML输入字段中
示例JSON数据(作为数组返回)
[{"username":"demo","email":"demo@gmail.com","password":"123"}]
列表中的代码。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>
# 1 楼答案
您的REST服务正在返回一个数组,因此要填充表单,您必须访问数组的第一个元素:
或者,您可以执行更高级别的赋值,这样就不必更改
renderDetails()
函数:最好还添加一个检查,查看返回的数组是否为空