基于jQuery的Ajax实现:
jQquery中创建XMLHttpRequest对象就没有兼容性问题了,而且不需要前面的四个步骤,直接使用 . a j a x ( ) , 通 过 设 置 相 关 的 参 数 , 如 提 交 的 方 法 , u r l , 数 据 等 , 一 次 性 完 成 所 有 步 骤 及 功 能 。 .ajax(),通过设置相关的参数,如提交的方法,url,数据等,一次性完成所有步骤及功能。 .ajax(),通过设置相关的参数,如提交的方法,url,数据等,一次性完成所有步骤及功能。.ajax()是jQuery实现ajax的最底层方法。
$.ajax(
url:
type:“POST” or “GET”
…
)
高级一些的封装:
$.get() :直接就体现了GET提交
$.post() :直接接体现了POST提交
上面是在 . a j a x ( ) 基 础 上 的 更 高 级 封 装 , 上 述 的 方 法 至 少 不 需 要 设 置 提 交 方 法 参 数 了 。 < 1 > .ajax()基础上的更高级封装,上述的方法至少不需要设置提交方法参数了。 <1> .ajax()基础上的更高级封装,上述的方法至少不需要设置提交方法参数了。<1>.get(url, [data], [callback], [datatype])
<2>$.post(url, [data], [callback], [datatype]) //datatype: text|html|json|script,数据的类型,要求后台返回的数据的类型。
不提交数据时两种方法的请求头:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<button name="btn1" onclick="func1();">ajax提交</button>
<script src="/static/js/jquery-3.6.0.js"></script>
<script>
function func1() {
test()
}
function test() {
$.get("/app01/jqajaxtest/")
// $.post("/app01/jqajaxtest/")
}
</script>
</body>
</html>
def jqueryajax(req):
return render(req,"jqueryajax.html")
def jqajaxtest(req):
print("req.GET:",req.GET)
return HttpResponse("ok111")


由上面两个结果,只是请求方法不同。
传递数据:
get修改参数:
1) $.get(“/app01/jqajaxtest/a=bbq&b=10”) $.get()的第一种传递数据方式,直接拼接网址后

后台打印:

2) $.get(“/app01/jqajaxtest/”,{name:‘bbq’,a:100}) $.get()的第二种传递数据方式,参数第二个位置。

结果与第一种相同,ajax将参数的字典键值对给拼接到了请求网址的后面。

post修改参数:
1)$.post(“/app01/jqajaxtest/”,{aa:‘小老虎’,bb:23}) POST方法传递数据,数据在第二个参数位置


2)$.post(“/app01/jqajaxtest/”,{aa:‘小花猫’,bb:44},function (data) {
alert(data); }),增加第三个参数,回调函数

回调函数就是POST方法执行完毕后,再调用执行这个函数,函数的参数data接收POST方法返回的数据,就是后台jqajaxtest(req)返回的数据,即ok111。
还有第四个参数,是数据类型,是告诉后台返回给前端的数据类型,如果不匹配,则回调函数不执行。
关于回调函数,其参数都有哪些呢?可以使用arguments参数来查看:
$.post(“/app01/jqajaxtest/”,{aa:‘小花猫’,bb:44},function (data) { console.log(arguments); })

显示参数公有3个,分别是ok111,success和{…},其中上面写的data对应第一个参数,第二个参数是状态信息,两个值

本文介绍了基于jQuery的Ajax实现,包括.get()和.post()方法,详细阐述了数据传递、回调函数以及JSONP用于跨域请求的原理。通过实例展示了如何在Django中处理Ajax请求,解释了CORB(跨域读取阻塞)的安全机制及其影响。
最低0.47元/天 解锁文章
1997

被折叠的 条评论
为什么被折叠?



