原生和jQuery的ajax用法
form数据的序列化:
1 $('#submit').click(function(){ 2 $('#form').serialize(); //会根据input里面的name,把数据序列化成字符串;eg:name=yang 3 $('#form').serializeArray(); //会根据input里面的name,把数据序列化成数组;eg:[object] 4 //注意:没有name会获取不到值 5 6 7 //下面两种不是jQuery的方法 8 JSON.parse() //json字符串转化为json对象 9 JSON.stringify() //json对象转化为json字符串 10 });
jQuery的ajax方法:
1 $.ajax({ 2 url:'/comm/test1.php', 3 type:'POST', //GET 4 async:true, //或false,是否异步 5 data:{ 6 name:'yang',age:25 7 }, 8 timeout:5000, //超时时间 9 dataType:'json', //返回的数据格式:json/xml/html/script/jsonp/text 10 beforeSend:function(xhr){ 11 console.log(xhr) 12 console.log('发送前') 13 }, 14 success:function(data,textStatus,jqXHR){ 15 console.log(data) 16 console.log(textStatus) 17 console.log(jqXHR) 18 }, 19 error:function(xhr,textStatus){ 20 console.log('错误') 21 console.log(xhr) 22 console.log(textStatus) 23 }, 24 complete:function(){ 25 console.log('结束') 26 } 27 })
原生的ajax方法:
1 $('#send').click(function(){ 2 //请求的5个阶段,对应readyState的值 3 //0: 未初始化,send方法未调用; 4 //1: 正在发送请求,send方法已调用; 5 //2: 请求发送完毕,send方法执行完毕; 6 //3: 正在解析响应内容; 7 //4: 响应内容解析完毕; 8 9 var data = 'name=yang'; 10 var xhr = new XMLHttpRequest(); //创建一个ajax对象 11 xhr.onreadystatechange = function(event){ //对ajax对象进行监听 12 if(xhr.readyState == 4){ //4表示解析完毕 13 if(xhr.status == 200){ //200为正常返回 14 console.log(xhr) 15 } 16 } 17 }; 18 xhr.open('POST','url',true); //建立连接,参数一:发送方式,二:请求地址,三:是否异步,true为异步 19 xhr.setRequestHeader('Content-type','application/x-www-form-urlencoded'); //可有可无 20 xhr.send(data); //发送 21 });
转:https://www.cnblogs.com/jach/p/5709175.html
每一个不曾起舞的日子,都是对生命的辜负。