参见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进行序列化。
var obj = {a:1,b:2,c:3};
var k = $.param(obj);
alert(k); //输出a=1&b=2&c=3
疑难问题
Q1:Jquery自执行函数与普通自执行函数的区别
JS自执行函数:
(function(){
//这里为调用的其它代码
})();
Jquery立即执行函数:
$(function(){
//这里为要调用的其它代码
})
区别:第一个为顺序执行,即如果要调用其它的js方法,则需要置于代码末尾。否则无法调用。
第二个可以为全部代码加载后再执行,因此,如果第一个放在代码末尾,两者功能一样。
Q2:$ (function() {})与window.onload事件区别
转载:https://blog.csdn.net/linggty/article/details/79912601
JQuery 的代码我们通常会包裹在一个$(function(){})
函数中,jq 的$(function(){})
也就是$(document).ready(function(){})
的简写,与之对应的原生 js 的window.onload
事件,这俩者之间到底有什么区别呢?
$(function () {
console.log("ready执行");
});
$(function() {
console.log("ready1执行");
});
window.onload = function () {
console.log('load执行');
};
window.onload = function () {
console.log('load1执行');
}
// ready执行
// ready1执行
// load1执行1
这里可以看出两点不同:
1.$(function(){})
不会被覆盖,而window.onload
会被覆盖,个人感觉$(function(){})
不会被覆盖的原因是将其放入到了一个队列中,在对应时机一次出队。
2. $(function(){})
在window.onload
执行前执行的,$(function(){})
类似于原生 js 中的DOMContentLoaded
事件,在 DOM 加载完毕后,页面全部内容(如图片等)完全加载完毕前被执行。而window.onload
会在页面资源全部加载完毕后才会执行。
DOM 文档加载步骤:
- 解析 HTML 结构
- 加载外部的脚本和样式文件
- 解析并执行脚本代码
- 执行 $(function(){}) 内对应代码
- 加载图片等二进制资源
- 页面加载完毕,执行 window.onload
Q3:使用jquery的getJSON()遇到的跨域访问问题
这种写法有跨域限制,解决跨域请参照:跨域资源共享 CORS 详解
$.getJSON("******", function (data) {
alert("go");
document.getElementById("mydiv").innerHTML = "hahahah";
});
其实jQuery已经封装了JSONP的使用,支持跨域
$.getJSON( "****?jsoncallback=?", function( data ){
// 处理跨域请求得到的数据
});
Q4:jquery 发送put/delete请求
$.ajax 是通过type 属性配置请求方式(GET、POST、PUT、DELETE等),默认是GET方式。
名称 | 请求方式 | 描述 |
---|---|---|
浏览器 | GET、POST | form表单走浏览器默认提交行为 |
$.ajax | GET、POST、PUT、DELETE等 | 走http请求方式 |