Ajax请求Json遇到的问题总结

来源:互联网 发布:电视直播点播软件 编辑:程序博客网 时间:2024/06/05 19:26

第一次用ajax call后端,遇到了不少问题。 所以就下面总结一下,以免后面再犯。

下面是代码部分

$(document).ready(function(){

$("#send").click(function(){

$.ajax({

url :"getAjaxInfo.action",

// timeout : 20,//当超过超时时间就会走error方法

data :JSON.stringify({

username:$("#username").val(),

content : $("#content").val(),

password :"kobe"

}),//如果没有JSON.stringify这个函数就会报400,这个错误。因为后端进行参数绑定的时候就会有问题

contentType: "application/json",//没有加这个回报415,类型错误

type:"POST",

dataType :"json",//期待服务器返回的数据类型

beforeSend : function(XMLHttpRequest) {//防止表单的重复提交,禁用掉提交的button

$("#send").attr({'disabled':'disabled'});

},

success : function(data,textStauts) {

console.log(data);

console.log(textStauts);

},

error : function(XMLHttpRequest,textStatus,errorThrown){

console.log(XMLHttpRequest);

console.log(textStatus);

console.log(errorThrown);

},

complete : function(XMLHttpRequest,textStatus) {//不管调用成功或者失败都会走

$("#send").removeAttr('disabled');//在调用完成之后,不管成功或者失败。恢复提交按钮

// console.log(XMLHttpRequest);

// console.log(textStatus);

}

})

});



@RequestMapping(value = "/getAjaxInfo", method = RequestMethod.POST)

@ResponseBody

public User getAjaxInfo(@RequestBody Useruser)throws Exception {

if(null !=user.getUsername()) {

user.setUsername("hello :" +user.getUsername());

Thread.sleep(3000);

//throw new Exception("error");

}

returnuser;

}


因为没有制定数据类型:所以回报下面的错,所以要指定contentType: "application/json"


如果给data没有用JSON.stringify().就会报400错误。




1 0
原创粉丝点击