Javascript 从Spring控制器返回正确的响应,但控制转到Ajax错误406:不可接受
我的ajax调用如下所示Javascript 从Spring控制器返回正确的响应,但控制转到Ajax错误406:不可接受,javascript,java,jquery,ajax,Javascript,Java,Jquery,Ajax,我的ajax调用如下所示 function getInfo(pNum){ //AJAX Start $.ajax({ type: "GET", contentType : "application/json", url: "getPInfo.do", data: "&pNum=" + pNum, dataType : 'j
function getInfo(pNum){
//AJAX Start
$.ajax({
type: "GET",
contentType : "application/json",
url: "getPInfo.do",
data: "&pNum=" + pNum,
dataType : 'json',
async: false,
success: function(response){
alert(response);
if(response !== null || response !== ''){
var JSONresponse = JSON.parse(response);
var a = JSONresponse.status;
alert(a);
}},
error: function(e){
alert("Error..."+e);
}
});
}
控制器代码如下
@SuppressWarnings("unchecked")
@RequestMapping(value = "/getPInfo.do", method = RequestMethod.GET)
public @ResponseBody JsonResponse getPInfo(@RequestParam("pNum") Long pNum, HttpSession session, HttpServletRequest request ) {
JsonResponse result = new JsonResponse();
try {
Perm perm = new Perm();
perm = pService.getPInfo(pNum);
if(perm != null){
result.setStatus("SUCCESS");
result.setResult(perm);
}
}
catch (Exception e) {
System.out.println("Exception ", e);
}
return result;
}
这是我的JsonResponse类
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) {
this.result = result;
}
}
当我尝试打印perm时,所有对象都已正确设置。但ajax回归到了
错误:函数(e)
alert(response)
打印什么?@ktilcu-return没有转到成功循环,我看到了错误中的警报:函数[Object Object]使用alert('error…')+JSON.stringify(e))
来清除[Object Object]
我们肯定应该看到@ktilcu建议的错误详细信息,以便进一步检查。但我认为您还应该尝试从控制器中删除HttpSession、HttpServletRequest
参数以执行检查。在一些spring版本中,这有时会引起麻烦。我得到的406是不可接受的。我的类路径和EAR库中有jackson-annotations-2.7.5.jar、jackson-core-2.7.5.jar、jackson-core-asl-1.5.3.jar、jackson-databind-2.7.5.jar、jackson-mapper-asl-1.5.3.jar。问题仍然存在,什么是alert(response)
print?@ktilcu-return没有转到成功循环,我看到了错误内部的警报:函数[Object]使用alert('error…'+JSON.stringify(e))
清除[Object]
我们应该明确地看到@ktilcu建议的错误详细信息,以便进一步检查。但我认为您还应该尝试从控制器中删除HttpSession、HttpServletRequest
参数以执行检查。在一些spring版本中,这有时会引起麻烦。我得到的406是不可接受的。我的类路径和EAR库中有jackson-annotations-2.7.5.jar、jackson-core-2.7.5.jar、jackson-core-asl-1.5.3.jar、jackson-databind-2.7.5.jar、jackson-mapper-asl-1.5.3.jar。问题仍然存在