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/text10 ????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
原生和jQuery的ajax用法
原文地址:https://www.cnblogs.com/tashaxing/p/9289171.html