我在从JSON到Spring MVC的工作中获取JSON时遇到问题。我的表单是动态的,JSON作为保存的对象返回。处理机箱时,不断出现415错误,即不支持媒体类型。请帮助我,下面是我的代码流程。我也尝试了不同的方法,但对我没有用,我做错了什么?
<form:form modelAttribute="bp" action="saveUser" method="post"
name="bpForm" id="submitForm">
<div class="form-group form-inline">
<label>Name</label>
<form:input type="text" path="bpName" name="bpName"
class="form-control" />
</div>
<button type="submit" class="btn btn-success"
>save</button>
</form:form>
JQUERY CODE ############################################## ###########
<script type="text/javascript">
data = "";
$(document).ready(function() {
console.log("ready ....");
$('#submitForm').submit(function(e) {
var frm = $('#submitForm');
e.preventDefault();
console.log("submitting ....");
var data = {}
var Form = this;
//Gather Data also remove undefined keys(buttons)
$.each(this, function(i, v){
var input = $(v);
data[input.attr("name")] = input.val();
delete data["undefined"];
});
console.log("JSON : "+JSON.stringify(data))
$.ajax({
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
type: frm.attr('method'),
url: frm.attr('action'),
dataType : 'json',
data : JSON.stringify(data),
success : function(callback){
alert("Response: Name:");
// $(this).html("Success!");
},
error : function(){
// $(this).html("Error!");
}
});
});
});
</script>
################################################ ####################控制器
@RequestMapping(value="/saveUser", method = RequestMethod.POST)
public @ResponseBody BusinessPartner submittedFromData(@RequestBody BusinessPartner user, HttpServletRequest request) {
System.out.println("!!!!!!!!!!!! ==================="+user.getBpId());
return user;
}
###################################
模型类
@Entity
@Table(name="bp_master")
public class BusinessPartner {
@Id
//@GeneratedValue(strategy=GenerationType.AUTO)
@Column(name="BPId")
private int bpId;
@Column(name="BPName")
private String bpName;
public BusinessPartner(){
}
public BpType getBpType() {
return bpType;
}
public void setBpType(BpType bpType) {
this.bpType = bpType;
}
public int getBpId() {
return bpId;
}
public void setBpId(int bpId) {
this.bpId = bpId;
}
public String getBpName() {
return bpName;
}
public void setBpName(String bpName) {
this.bpName = bpName;
}
}
我刚刚使用了这个Maven依赖项,并且415响应代码不见了。只删除了重复的contentType:'application / json',该内容已被编辑。
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.5.3</version>
</dependency>
现在在我这边工作正常。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句