实现Ajax提交数据的三种方式

Ajax提交数据的三种方式

Ajax发送请求的特点是不刷新页面,很常用

一,原生Ajax

实现方式:使用 浏览器中的XmlHttpRequest对象来完成请求

优点:不依赖插件,直接快捷
缺点:代码叫复杂,并且有的低版本浏览器不支持

url关系:

urlpatterns = [
    path('admin/', admin.site.urls),
    path('index/', views.index),
    path('ajax1/', views.ajax1),
]

views函数:

def index(request):
    return render(request,"ajax1.html")

def ajax1(request):
    return HttpResponse("这是原生Ajax")

html文件

<h1>这是原生Ajax</h1>
<button id ="ajax1">提交</button>
<script>
    document.getElementById("ajax1").onclick=function () {
    
        var xhr = new XMLHttpRequest();
        xhr.onreadystatechange=function () {
    
            if (xhr.readyState==4){
    
                alert(xhr.responseText)
            }
        };
        xhr.open("GET","/ajax1");  //GET请求
        xhr.send(null)
        //xhr.open("POST","/ajax1");  //POST请求
        //xhr.send("p=456")
        //如果请求方式是POST,要加上下面的请求头
        //xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded; charset-UTF-8');
        //POST方式提交数据也发送到了request.body,Django要根据请求头将数据再解析到request.POST
    }
</script>

二,jQuery下的ajax

实现方式:用JavaScript的类库jQuery对浏览器对象XMLHttpRequest 或 ActiveXObject做好了上层封装

优点:简单快捷
缺点:依赖插件,影响性能

<h1>这是Jquery下的ajax</h1>
<button id ="ajax2">提交</button>
<script src="/static/jquery-3.1.1.min.js"></script>
<script>
    $("#ajax2").click(function () {
    
        $.ajax({
    
            url:"/ajax2",
            method:"GET",
            data:{
    "p":123},
            success:function (arg) {
    
                var ele=JSON
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值