Jquery ajax data数据格式
ajax提交data类型
 一、问题来源
 今天使用ajax时,发现get传data时,传递json字符串时传不过去参数,所以做了一些实验测试ajax的get和post的传递data时的不同。
二、概念
 ajax有三种传递传递data的方式:
json格式
 json字符串格式
 标准参数模式
 1.json格式
形如:
 {“username”:”chen”,”nickname”:”alien”}
ajax:
$.ajax({
 type:“post”,
 url:"/test/saveUser",
 data:{“username”:“chen”,“nickname”:“alien”},
 dataType:“json”,
 success: function(data){
 console.log(data);
 }
 });
2.json字符串
 形如:
 “{“username”:”chen”,”nickname”:”alien”}” 或者JSON.stringify({“username”:”chen”,”nickname”:”alien”})
ajax:
$.ajax({
 type:“post”,
 url:"/test/saveUser",
 data:JSON.stringify({“username”:“chen”,“nickname”:“alien”}),
 contentType:“json/application”
 dataType:“json”,
 success: function(data){
 console.log(data);
 }
 });
 用此格式get请求参数传递不过去,不会把json串解析成参数
 而且需要添加 contentType:”json/application”
3.标准参数模式
形如:
 “username=chen&nickname=alien”
ajax:
$.ajax({
 type:“post”,
 url:"/test/saveUser",
 data:“username=chen&nickname=alien”,
 dataType:“json”,
 success: function(data){
 console.log(data);
 }
 });
 $(“#form1”).serialize() 就是把表单的数据拼成这个格式的字符串!
三、总结
 post请求能用1、2、3类型传递参数
 get请求能用1、3类型传递参数
 $(“#form1”).serialize() 是将对应表单中的input的name和value进行拼装,最后拼成3类型的字符串
 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号