参见API调用

$.getScript()

jQuery提供了$.getScript()方法来直接加载.js文件,与加载一个HTML片段一样简单方便,并且不需要对JavaScript文件进行处理,JavaScript文件会自动执行。
使用方法

$.getJSON()

$.getJSON()方法用于加载JSON文件,与$.getScript()方法的用法相同。
使用方法1使用方法2

$.ajax()

$.ajax()方法是jQuery最底层的Ajax实现。
使用方法

$.get()

$.get是以GET方式实现AJAX请求
使用方法

$.post()

$.get是以POST方式实现AJAX请求
使用方法

序列化

1.serialize()

serialize()方法也是作用于一个jQuery对象,它能够将DOM元素内容序列化为字符串,一般用于获取form表单值。

2.serializeArray()

在jQuery中还有一个与serialize()类似的方法——serializeArray(),该方法不是返回字符串,而是将DOM元素序列化后,返回JSON格式的数据。

3.$.param()

它是serialize()方法的核心,用来对一个数组或对象按照key/value进行序列化。

  1. var obj = {a:1,b:2,c:3};
  2. var k = $.param(obj);
  3. alert(k); //输出a=1&b=2&c=3

使用方法


疑难问题

Q1:Jquery自执行函数与普通自执行函数的区别

JS自执行函数:

  1. (function(){
  2. //这里为调用的其它代码
  3. })();

Jquery立即执行函数:

  1. $(function(){
  2. //这里为要调用的其它代码
  3. })

区别:第一个为顺序执行,即如果要调用其它的js方法,则需要置于代码末尾。否则无法调用。
第二个可以为全部代码加载后再执行,因此,如果第一个放在代码末尾,两者功能一样。

Q2:$ (function() {})与window.onload事件区别

转载:https://blog.csdn.net/linggty/article/details/79912601
JQuery 的代码我们通常会包裹在一个$(function(){})函数中,jq 的$(function(){})也就是$(document).ready(function(){})的简写,与之对应的原生 js 的window.onload事件,这俩者之间到底有什么区别呢?

  1. $(function () {
  2. console.log("ready执行");
  3. });
  4. $(function() {
  5. console.log("ready1执行");
  6. });
  7. window.onload = function () {
  8. console.log('load执行');
  9. };
  10. window.onload = function () {
  11. console.log('load1执行');
  12. }
  13. // ready执行
  14. // ready1执行
  15. // load1执行1

这里可以看出两点不同:
1.$(function(){})不会被覆盖,而window.onload会被覆盖,个人感觉$(function(){})不会被覆盖的原因是将其放入到了一个队列中,在对应时机一次出队。
2. $(function(){})window.onload执行前执行的,$(function(){})类似于原生 js 中的DOMContentLoaded事件,在 DOM 加载完毕后,页面全部内容(如图片等)完全加载完毕前被执行。而window.onload会在页面资源全部加载完毕后才会执行。
DOM 文档加载步骤:

  1. 解析 HTML 结构
  2. 加载外部的脚本和样式文件
  3. 解析并执行脚本代码
  4. 执行 $(function(){}) 内对应代码
  5. 加载图片等二进制资源
  6. 页面加载完毕,执行 window.onload

Q3:使用jquery的getJSON()遇到的跨域访问问题

这种写法有跨域限制,解决跨域请参照:跨域资源共享 CORS 详解

  1. $.getJSON("******", function (data) {
  2. alert("go");
  3. document.getElementById("mydiv").innerHTML = "hahahah";
  4. });

其实jQuery已经封装了JSONP的使用,支持跨域

  1. $.getJSON( "****?jsoncallback=?", function( data ){
  2. // 处理跨域请求得到的数据
  3. });

Q4:jquery 发送put/delete请求

$.ajax 是通过type 属性配置请求方式(GET、POST、PUT、DELETE等),默认是GET方式。

名称 请求方式 描述
浏览器 GET、POST form表单走浏览器默认提交行为
$.ajax GET、POST、PUT、DELETE等 走http请求方式