django ajax

django ajax,第1张

urls.py
urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/',views.index,name='index'),
    path('ajax',views.ajax,name='ajax')
]
views.py
from django.http import JsonResponse
from django.shortcuts import render
import json

def index(request):
    return render(request,'index.html')

def ajax(request):
    if request.method=='POST':
        # 把json转成字典
        data=json.loads(request.body)
        return JsonResponse(data)  # 返回字典
    elif request.method=='GET':
        data={'name':'zl'}
        return JsonResponse(data)  # 返回字典
index.html

send()的内容是字符串
xhr.response需要JSON.parse()才能当json使用

div=document.querySelector('div')

div.addEventListener('mouseover',function(){
	xhr=new XMLHttpRequest()
	xhr.open('GET','{% url 'ajax' %}')
	xhr.send()
	xhr.onreadystatechange=function(){
	    if(xhr.readyState===4 && xhr.status>=200 && xhr.status<300 ){
	        data=JSON.parse(xhr.response)
	        div.innerText=data.name
	    }
	}
})

div.addEventListener('click',function(){
	xhr=new XMLHttpRequest()
	xhr.open('POST','{% url 'ajax' %}')
	data={'name':'zhanglu'}
	// 转成字符串发送
	data=JSON.stringify(data)
	xhr.send(data)
	xhr.onreadystatechange=function(){
	    if(xhr.readyState===4 && xhr.status>=200 && xhr.status<300 ){
	        // 需要解析成json
	        data=JSON.parse(xhr.response)
	        div.innerText=data.name
	    }
	}
})

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/langs/714257.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-04-24
下一篇2022-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存