JQuery中常用的$.get(),$.post(),$.ajax(),$.getJSON(),load()的详解与区别

原文链接: https://www.mk2048.com/blog/blog.php?id=h0k0c2i012hj&title=JQuery%E4%B8%AD%E5%B8%B8%E7%94%A8%E7%9A%84%24.get%28%29%2C%24.post%28%29%2C%24.ajax%28%29%2C%24.getJSON%28%29%2Cload%28%29%E7%9A%84%E8%AF%A6%E8%A7%A3%E4%B8%8E%E5%8C%BA%E5%88%AB

背景:因为最近需要获取本地的数据件进行项目测试,需要用到JQuery实现数据文件的读取,但是由于对JQuery内的获取文件方式不太了解,这次趁着机会进行一下总结。因为该总结是本人根据平常的使用及网上的资料的来的。可能有些不足,希望大家能够帮忙指证。

一。$.get();

  语法:$.get(url,[data],[callback])

  数说明:url为请求地址。(string类型

       data为请求数据的列表,可选参数。发送至服务器的key/value数据会作为QueryString附加到请求URL中。(object类型)

       callback为请求成功后的回调函数,该函数接受两个参数,第一个为服务器返回的数据,第二个参数为服务器的状态,是可选参数。(function类型)

       而其中,服务器返回数据的格式其实是字符串形式,并不是我们想要的json数据格式。

  列:

               

二。$.post(); 

  语法:$.post(url,[data],[callback],[type])

  参数说明:该函数的用法与$.get()的用法比较相像,不同的地方是多了一个type参数(可选)。该参数为请求的数据的类型,该参数可设置为html,xml,php等类型。我们可以根据所需要的数据类型来进行设置,如果我们设置该参数为:json,则数据返回的格式为JSON格式。如果没有设置,则数据格式与$.get()返回的数据格式相同,为字符串形式。(如果type设置为JSON,则要确保数据文件符合JSON数据格式,否则会报错)。

    列:

    

三。$.ajax();

   语法:$.ajax(options) 

  参数说明:$.ajax()是jquery中通用的一个ajax封装,其中options是一个object类型,它指明了本次ajax调用的具体参数,可以根据具体的使用要求,对ajax进行更加精细的操作。

  列:

          

    总结:根据上面的列子可以得出,无论是get请求还是post请求,都可以用ajax来表示。

    简单说一下get与post的区别:

    1.安全性:get是通过http协议的header发送请求,所以会将参数拼接在地址栏中,所以安全性很差;

    post是通过http协议的body发送请求,地址栏中并不会出现,所以相对安全; 

    还有一点,用get方法发送请求会被客户端浏览器缓存,通过查看历史记录可以查看到用户信息,所以非常不安全。 

    2.传送大小:get只能传送2kb,而post一般不受限制 

    3.效率:get效率高,post效率低 

    4.get就是为了从服务器得到数据,而post则是发送数据 

四。$.getJSON()  

  语法:getJSON(url,[data],[callback])

  参数说明:

  url:string类型, 发送请求地址 。

  data :可选参数, 待发送 Key/value 参数 ,同get,post类型的data 。

  callback :可选参数,载入成功时回调函数,同get,post类型的callback。

  注:getJSON()和get是一样的,都是get请求,这就决定了,发送的data数据量不能太多,否则造成url太长接收失败(getJSON方式是不可能有post方式递交的)。 

  区别是,getJSON专门请求json数据的,而且getJSON可以实现跨域请求。

  什么是JSON?

  JSON是一种理想的数据传输格式,它能够很好的融合与JavaScript或其他宿主语言,并且可以被JS直接使用。使用JSON相比传统的通过 GET、POST直接发送单纯的数据,在结构上更为合理,也更为安全。至于jQuery的getJSON()函数,只是设置了JSON参数的ajax()函数的一个简化版本。这个函数也是可以跨域使用的,相比get()、post()有一定优势。另外这个函数可以通过把请求url写 成"myurl?callback=X"这种格式,让程序执行回调函数X。 

  列:

  

 五。load();

  语法:$(selector).load(URL,data,callback);

  jQuery load() 方法是简单但强大的 AJAX 方法。load() 方法从服务器加载数据,并把返回的数据放入被选元素中。

  参数说明:

    必需的 URL 参数规定您希望加载的 URL。

    可选的 data 参数规定与请求一同发送的查询字符串键/值对集合。

    可选的 callback 参数是 load() 方法完成后所执行的函数名称。

  可选的 callback 参数规定当 load() 方法完成后所要允许的回调函数。回调函数可以设置不同的参数:

    responseTxt - 包含调用成功时的结果内容

    statusTXT - 包含调用的状态

    xhr - 包含 XMLHttpRequest 对象

  


更多专业前端知识,请上 【猿2048】www.mk2048.com

猜你喜欢

转载自blog.csdn.net/mabeizui9231/article/details/102772646
今日推荐