如何从 REST API 获取响应并从 jquery ajax 调用执行操作?
Posted
技术标签:
【中文标题】如何从 REST API 获取响应并从 jquery ajax 调用执行操作?【英文标题】:How to get response back from the REST API and perform actions from jquery ajax call? 【发布时间】:2021-01-21 04:17:26 【问题描述】:我正在学习 JS、jquery,并尝试构建一个登录页面,在将凭据提供给我的应用程序 URL 后,我应该得到响应,并且我应该能够执行相应的操作。 类似于:如果响应是“成功”,那么我应该收到成功警报并重定向到另一个页面(不知道该怎么做),如果响应是“失败”,我应该发出警报。 以下是我的js文件中的相关sn-p:
$.ajax(
url: "http://localhost:8588/api/userLogin",
type: "POST",
data: credentials,
dataType: "json",
contentType: 'application/json',
success: function(response)
alert(response);
);
我的 java 控制器方法用 @RestController 进行了注释:
@PostMapping(value = "/userLogin", consumes = "application/json")
public String userLogin(@RequestBody UserRequest userRequest)
System.out.println(userRequest.getUserId()+ " "+ userRequest.getPassword());
User user = userService.getUser(userRequest);
return (user != null) ? "succeess" : "fail";
我没有收到任何错误 我可以调用 API,但无法在 UI 上获得响应。我错过了什么?
【问题讨论】:
您遇到了什么错误。Rest API 中的 System.out 是否被打印出来? 你使用@Controller还是@RestController? @javaguy,我在其余 API 中没有收到任何错误 是的,我正在使用@RestController 【参考方案1】:我采用了您的代码并模拟了像您这样的简单案例。大多数代码看起来都是正确的,但是正如您所说,控制台中没有错误,也没有对客户端的响应,所以问题一定出在某个地方。有些事情你没有在这里指定,所以为了其他人的更多上下文,我假设UserRequest
为
public class UserRequest
public String username;
public String password;
对于我正在使用的 ajax 请求 data
JSON.stringify(username: "developer", password:"pass")
现在,我在客户端的警报中收到 200 个响应代码和成功消息。如果尝试此操作后弹出任何错误,请告诉我。
【讨论】:
以上是关于如何从 REST API 获取响应并从 jquery ajax 调用执行操作?的主要内容,如果未能解决你的问题,请参考以下文章
iOS:如何从 REST SwiftUi 访问和使用 API 响应数据
如何在颤动中解析此响应,并从 API 响应中的两个数组的文本字段中获取响应值? [关闭]
Yammer REST API:如何获取外部网络的访问令牌?