Ajax

Posted 不忘初心❤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ajax相关的知识,希望对你有一定的参考价值。

AJAX(Asynchronous javascript And XML) 翻译成中文就是“异步的Javascript和XML”。即使用Javascript语言与服务器进行异步交互。

 

 

  • 同步交互:客户端发出一个请求后,需要等待服务器响应结束后,才能发出第二个请求
  • 异步交互:客户端发出一个请求后,无需等待服务器响应结束后,就可发出第二个请求

例:

提供页面,实现简单的计算

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title></head>
<body>
<input type="text" id="i1"> + <input type="text" id="i2"> = <button id="b1">ajax sum</button>
</body><label for="i3"><input type="text" id="i3"></label>

<script src="/statics/jQuery.js"></script>
<script>
    $(#b1).click(function () {
        $.ajax({
            url:‘‘,
            type:POST,
            data:{i1:$(#i1).val(),i2:$(#i2).val()},
            success:function (data) {
                $(#i3).val(data)
            }
        })
    })
</script>
</html>

views.py文件

def index(request):
    if request.method == POST:
        i1 = request.POST.get(i1)
        i2 = request.POST.get(i2)
        ret = int(i1)+int(i2)
        print(ret)
        return HttpResponse(ret)
    return render(request,index.html)

 

应用场景:

github的注册,用户填完用户名后直接向服务器发送请求,判断用户名是否合法或重复,

在把结果展示出来,在整个过程中页面没有刷新,只是局部刷新,请求发出后浏览器还可以进行其他的操作,无需等待服务器的响应

 

 

 

优点: 就是在不重新加载整个页面的情况下,可以与服务器交换数据并更新部分网页内容

  • ajax不需要任何插件,但需要允许javascript在浏览器上执行
  • 使用的是JavaScript技术向服务器发送异步请求
  • 请求无需刷新整个页面
  • 因为刷新的是局部,所以性能号

关键点在:局部刷新,异步请求

 

 

 

 

 

 

 

 

 

 

 

 

 

以上是关于Ajax的主要内容,如果未能解决你的问题,请参考以下文章

Javascript代码片段在drupal中不起作用

前端面试题之手写promise

Ajax 片段元标记 - Googlebot 未读取页面内容

执行AJAX返回HTML片段中的JavaScript脚本

javascript AJAX片段

Spring MVC 3.2 Thymeleaf Ajax 片段