我有一个简单的JQuery
调用我的 Spring MVC
的函数 Controller :
function createDatabaseRecord() {
if (isFormValid()) {
$.getJSON(
"${pageContext.servletContext.contextPath}${databaseConfigUrl}",
{name:$('#idName').val(),
databaseName:$('#idDatabaseName').val(),
hostName:$('#idHostName').val(),
username:$('#idUsername').val(),
password:$('#idPassword').val()},
function (data) {
var html = '<span>' + data + '</span>';
$('#idMessage').html(html);
}
);
}
}
当我单击按钮时,该函数被调用,一切都很好。问题是这一行:$('#idMessage').html(html);
不按预期工作。我有一个<div>
相同的元素 JSP
页。
<div id="idMessage">
</div>
我的 Spring Controller 方法由该函数调用:
@RequestMapping(value = DATABASE_CONFIG_RECORD_MAPPING, method = RequestMethod.GET)
public
@ResponseBody
String createDatabaseConfiguration(@RequestParam(value = "name", required = true) String name,
@RequestParam(value = "databaseName", required = true) String databaseName,
@RequestParam(value = "hostName", required = true) String hostName,
@RequestParam(value = "username", required = true) String username,
@RequestParam(value = "password", required = true) String password) {
try {
DatabaseConfig config = new DatabaseConfig();
config.setName(name);
config.setDatabaseName(databaseName);
config.setHostName(hostName);
config.setUsername(username);
config.setPassword(password);
configService.save(config);
} catch (Exception ex) {
LOGGER.error("Exception while create database configuration record.", ex);
return "Error occurred while creating database configuration record: " + ex.getMessage();
}
return "Database configuration record successfully created.";
}
我可以在 FireBug 中看到我收到的回复:
。这是消息:已成功创建数据库配置记录。我希望显示在 <div>
中。元素,但不显示。有人知道哪里可能有问题吗?如果您需要更多代码,请询问。
最佳答案
您的回复不是 JSON 格式。
在 Controller 中尝试此代码片段:
return Collections.singletonMap("result", "Database configuration record successfully created");
并在 JavaScript 中使用它,如下所示:
var html = '<span>' + data.result + '</span>';
关于java - 无法使用 JSON 和 JQuery 显示从 Spring MVC Controller 返回的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13088552/