zoukankan      html  css  js  c++  java
  • Ajax_04之jQuery中封装的Ajax函数

    1、PHP中json_encode编码规则:
     PHP索引数组编码为JSON:[...]
     PHP关联数组编码为JSON:{...}
    2、jQuery中AJAX封装函数之load:


     ①使用:$('选择器').load(url,[data],[fn]);
      $('选择器').load(url);


     ②含义作用:创建XHR对象,向指定的URL发起异步请求,请求参数为data,如果响应成功,自动调用指定回调函数fn,将响应主体数据(必须是HTML片段),替换为当前选定元素的innerHTML,已有内容会被覆盖;


    3、jQuery中AJAX封装函数之$.get:


     ①使用:$.get(url,[data],[fn]);


     ②含义作用:创建XHR对象,向指定的URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse);


    4、jQuery中AJAX封装函数之$.post:


     ①使用:$.post(url,data,[fn]);


     ②含义作用:创建XHR对象,向指定URL发起异步POST请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在请求主体中,如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse(txt,msg,xhr););


     ③表单序列化:Serialize,把表单中所有具备name属性的输入域及值拼接为“k1=v1&k2=v2”形式的字符串,可直接用于HTTP请求消息(var data=$("#formId").serialize(););


    5、jQuery中AJAX封装函数之$.getJSON:


       ①使用:$.getJSON(url,[data],[fn]);


       ②含义作用:创建XHR对象,向指定URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在URL后,如果响应成功,自动调用指定回调函数fn(必须在此回调函数中对响应数据进行处理——doResponse(txt,msg,xhr););

      *(该函数要求响应数据必须是application/json类型,会自动调用JSON.parse(xhr.responseText)加以解析);
    6、jQuery中AJAX封装函数之$.getScript:


       ①使用:$.getScript(url,[data],[fn]);
          $.getScript(url);


       ②含义作用:创建XHR对象,向指定URL发起异步GET请求,请求参数为data(形如k=v&k=v或{k:v,k:v}),追加在URL后,如果响应成功,自动调用指定回调函数fn;

      *(该函数要求响应数据必须是application/javascript类型,会自动调用eval(xhr.responseText)加以执行);
    7、jQuery中AJAX封装函数之$.ajax:


       ①使用:
      $.ajax({
       type:'GET',//POST/PUT/DELETE/HEAD
       url:'x.php',
       data:'k=v&k=v', //{k:v}请求数据
       beforeSend:function(){}, //请求发送前的回调
       success:function(){}, //成功响应的回调
       error:function(){}, //失败响应的回调
       complete:function(){} //响应完成的回调
      });


     ②对应原生AJAX代码:
      var xhr=new XMLHttpRequest();
      xhr.onreadystatechange=function(){
       if(xhr.readyState===4){
        if(xhr.status===200){success();}
        else{error();}
        complete();
       }
      }
      xhr.open();
      beforeSend();
      xhr.send();
    8、总结:
     ①$('选择器').load(url);——只接收html响应;


     ②$.get(url,data,fn);——取决于响应消息声明的内容类型,若声明为application/json,会自动调用JSON.parse();若声明为application/javascript,会自动调用eval();若声明为text/plain等,则不会自动执行;


     ③$.post(url,data,fn);


     ④$.getJSON(url,data,fn);——只接收json响应,不论响应消息是什么类型,都会自动调用JSON.parse()把xhr.responseText进行解析得到JS对象;


     ⑤$.getScript(url);——只接收script响应,不论响应消息什么类型,都会自动调用eval把xhr.responseText进行执行;

  • 相关阅读:
    凸优化之基追踪
    [转]广义正交匹配追踪(gOMP)
    SAMP论文学习
    sublime学习笔记
    IEEE Trans 2009 Stagewise Weak Gradient Pursuits论文学习
    [转]压缩感知重构算法之分段正交匹配追踪(StOMP)
    IEEE Trans 2008 Gradient Pursuits论文学习
    Git学习笔记
    树状数组【bzoj1103】: [POI2007]大都市meg
    模拟赛 10-25上午考试记
  • 原文地址:https://www.cnblogs.com/Jupiter258/p/6052390.html
Copyright © 2011-2022 走看看