Ajax

Posted 雾霾1024

tags:

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

一. Ajax是什么

  Asynchronous javascript And XML 异步JavaScript和XML

  Ajax是使用JavaScript语言与服务器进行异步交互,传输数据为XML(现在更多的是用json)

二. Ajax的优点

  1. 局部刷新页面

  2. 和服务器进行异步交互

  3. 局部刷新性能高

三. Ajax的使用

  1. 基于jQuery实现

技术图片
一般和绑定事件一起用

$.ajax({
    url: "{% url "别名"%}",        # 提交路径
    type: "post",                     # 提交方式,post,get...
    data{ "k1":v1,"k2":v2... },  # 提交的数据,自定义对象类型
    success:function(response){
    response 是返回的响应,根据响应搞事情
}
})
基于jQuery的实现

四. 用json处理python和JavaScript的消息

  1. 使用json模块处理

技术图片
import json

data = json.dumps(data)    # 序列化

return HttpResponse(data)
py端
技术图片
data = JSON.parse(data)    # js中的反序列化
JavaScript端 

  2. 发送一个ajax标识头,Ajax自动识别消息

技术图片
def login(request):

   data = json.dumps(data)
    # content_type 是个标识头,ajax看见会自动处理
   return HttpResponse(data,content_type="application/json")
第二种

  3. 使用django带的JsonResponse模块

    这个模块帮你处理消息格式

技术图片
from django.http import JsonResponse

def login(request):
    # 如果发送字典格式外的,需要在后面加safe=False
    return JsonResponse(data ,[safe=False])  
第三种JsonResponse模块

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

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

前端面试题之手写promise

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

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

javascript AJAX片段

Spring MVC 3.2 Thymeleaf Ajax 片段