【发布时间】:2019-09-26 02:21:22
【问题描述】:
我正在尝试构建一个聊天机器人。我可以通过 ajax 从 javascript 的用户输入接收数据,但我想在 POST 触发后发送响应(现在的响应可以只是用户输入)。
例如: javascript
//...create jsonObj using userinput
//Post text to Spring MVC via ajax
$.ajax({
url: "myurl/chat",
type: 'POST',
contentType: 'application/json',
data: JSON.stringify(jsonObj)
});
控制器:
@RequestMapping(value = "/chat", method = RequestMethod.POST, consumes="application/json")
public void inputChat(@RequestBody String userInput) {
//I want to send a response back to javascript here
}
然后回到 javascript 我想监听响应并解析它。我发现的所有示例都使用 $getJSON 在用户提示时执行请求,而不是监听响应。同样在我的情况下 我想在没有来自 javascript 的 GET 请求的情况下将数据从 Spring MVC 发送到 javascript。
我该怎么做呢?
编辑:在javascript中我会使用类似的东西:
$.post('/chat/response', function (data) {
// data is an object
}, 'json');
如何从 Spring MVC 控制器执行 POST?
【问题讨论】:
-
也许您应该使用 websocket 解决方案?
-
@ScaryWombat 这听起来绝对是一个更好的主意。我会试试的,谢谢。
标签: javascript java jquery ajax spring-mvc