gpt4 book ai didi

java - Spring MVC + Jquery Ajax 显示 406 错误?

转载 作者:行者123 更新时间:2023-12-01 08:12:53 25 4
gpt4 key购买 nike

我找了很多,找不到解决方案。类似的线程也在我们的堆栈溢出中。但没有用。所以我创建了一个新线程。

我的 JSP 是,

<boby>
<% System.out.println("request.getContextPath() : "+request.getContextPath()); %>
<h1>Spring_JsonTest Example</h1>
<table>
<tr><td colspan="2"><div id="error" class="error"></div></td></tr>
<tr><td>Enter your name : </td><td> <input type="text" id="name"><br/></td></tr>
<tr><td>Your Education : </td><td> <input type="text" id="education"><br/></td></tr>
<tr><td colspan="2"><input type="button" value="Add Users" onclick="doAjaxPost()"><br/></td></tr>
<tr><td colspan="2"><div id="info" class="success"></div></td></tr>
</table>
</body>

我的 Jquery 是,

function doAjaxPost() {  
// get the form values
var name = $('#name').val();
var education = $('#education').val();

$.ajax({
type: "POST",
url: contexPath + "/AddUser.html",
data: "name=" + name + "&education=" + education,
success: function(response){
// we have the response
if(response.status == "SUCCESS"){
userInfo = "<ol>";
for( i =0 ; i < response.result.length ; i++){
userInfo += "<br><li><b>Name</b> : " + response.result[i].name +
";<b> Education</b> : " + response.result[i].education;
}
userInfo += "</ol>";
$('#info').html("User has been added to the list successfully. " + userInfo);
$('#name').val('');
$('#education').val('');
$('#error').hide('slow');
$('#info').show('slow');
}else{
errorInfo = "";
alert("Success response : "+response)
for( i =0 ; i < response.result.length ; i++){
errorInfo += "<br>" + (i + 1) +". " + response.result[i].code;
}
$('#error').html("Please correct following errors: " + errorInfo);
$('#info').hide('slow');
$('#error').show('slow');
}
},
error: function(xhr, ajaxOptions, thrownError)
alert("status :"+xhr.status+"\nthrownError : "+thrownError+"\nresponseText : "+xhr.responseText);
alert('Error: ' +xhr.description);
}
});
}

我的 Controller 是,

@Controller
public class UserController {
private List<User> userList = new ArrayList<User>();

@RequestMapping(value="/AddUser.html",method=RequestMethod.POST)
public @ResponseBody JsonResponse addUser(@ModelAttribute(value="user") User user, BindingResult result ){
System.out.println("Add user POST method");
JsonResponse res = new JsonResponse();
ValidationUtils.rejectIfEmpty(result, "name", "Name can not be empty.");
ValidationUtils.rejectIfEmpty(result, "education", "Education not be empty");
if(!result.hasErrors()){
userList.add(user);
res.setStatus("SUCCESS");
res.setResult(userList);
}else{
res.setStatus("FAIL");
res.setResult(result.getAllErrors());
}

return res;
}

}

我的 JsonResponse.java 是,

package com.tps.jsonTest.service;

public class JsonResponse {
private String status = null;
private Object result = null;
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public Object getResult() {
return result;
}
public void setResult(Object result) {
System.out.println("Result : "+result.toString());
this.result = result;
}

}

我的 User.java 是,

package com.tps.jsonTest.service;

public class User {

private String name = null;
private String education = null;

public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getEducation() {
return education;
}
public void setEducation(String education) {
this.education = education;
}

}

在我的控制台中,

Add user POST method
Name : Anand
Education : B.E
Result : [com.tps.jsonTest.service.User@df2940]

我使用过的Jar文件是,

commons-logging-1.1.1.jar
jackson-core-asl-1.9.12.jar
jackson-mapper-asl-1.9.12.jar
log4j-1.2.9.jar
servlet-api-2.4.jar
spring-aop-3.2.2.RELEASE.jar
spring-beans-3.2.2.RELEASE.jar
spring-context-3.2.2.RELEASE.jar
spring-context-support-3.2.2.RELEASE.jar
spring-core-3.2.2.RELEASE.jar
spring-expression-3.2.2.RELEASE.jar
spring-web-3.2.2.RELEASE.jar
spring-webmvc-3.2.2.RELEASE.jar

在我的浏览器中,错误是,

enter image description here

我无法使用 jquery 解析该对象,并且它会发生错误。希望我们的堆栈用户能够帮助我。

非常感谢好的答案。谢谢。

最佳答案

这是 Spring 3.2.2 或 3.2.3 或 3.2.4 中的问题。我在 Spring 3.0.0 和 Spring 3.1.4 中尝试过相同的示例,它工作正常。因此,更换 Spring jar 并尝试一下。

问候马杜

关于java - Spring MVC + Jquery Ajax 显示 406 错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15923473/

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