gpt4 book ai didi

java - 如何在 JavaScript 中访问在 AJAX 请求中作为响应发送的自定义 Java 对象?

转载 作者:行者123 更新时间:2023-11-30 17:04:09 25 4
gpt4 key购买 nike

我正在开发一个 Spring MVC 应用程序,我需要在其中显示 Trip 对象的详细信息。以下是我的 TripModel:

@Entity
@Table(name="Trip")
public class TripModel {
private String locationName;

private String userName;
@Id
@Column(name="tripid")
@GeneratedValue
private int tripId;

@Column(name="tripid")
private int tripId;

@Column(name="locationid")
private int tripStopLocationId;

@Column(name="datetime")
private String tripStopDateTime;

@Column(name="createts")
private Date tripStopCreateTime;

@Column(name="userid")
private int createUserId;

@Transient
private List<ItemTransactionModel> itemTransactionModelList;
}

如何在 AJAX 中使用行程 ID 获取行程详细信息? TripModel 有一个 ItemTransactionModel 对象列表。

以下是我的ajax代码:

jQuery.ajax({
url: '<c:url value="/trip/tripdetailsbyajax" />',
type: 'POST',
data: "tripId="+tripId,
cache:false,
success:function(response){
alert("response = " + response);
},
error:function(jqXhr, textStatus, errorThrown){
alert(jqXhr);
alert(textStatus);
alert(errorThrown);
}
});

以下是我的 Controller 方法:

@RequestMapping(value = "/tripdetailsbyajax", method = { RequestMethod.POST })
public @ResponseBody TripModel getTripDetailsByAjax(int tripId) {
TripModel tripModel = null;
tripModel = tripService.getTripModel(tripId);
return tripModel;
}

我们如何将 TripModel 对象作为 AJAX 响应发送,以及我们如何在 JavaScript 中访问它? TripModel 对象有一个 ItemTransactionModel 对象列表。

最佳答案

您需要进行一些更改才能获得 JSON 格式的响应,

dataType:json 添加到您的 ajax 请求,以便它知道它应该期待来自服务器的 JSON

jQuery.ajax({
url: '<c:url value="/trip/tripdetailsbyajax" />',
type: 'POST',
dataType: 'json',

在您的处理程序方法的 RequestMapping 中添加一个 produces="application/json"。这将提示框架将响应转换为的表示形式

@RequestMapping(value = "/tripdetailsbyajax", method = { RequestMethod.POST }, produces="application/json")

最后,访问成功方法中的值,如 response.userName

请注意,确保您的实体具有适当的 getter/setter,负责将您的对象转换为 JSON 的 jackson 库处理属性

关于java - 如何在 JavaScript 中访问在 AJAX 请求中作为响应发送的自定义 Java 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28318142/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com