• Ajax


    我们以前知道的前端向后端发送数据的方式有:

      GET:地址栏、a标签、Form表单

      POST:Form表单

    那么现在我们在学习一种:那就是ajax

    ajax:也是前端向后端发送数据的一种方式

    1.什么是ajax?

    ajax是一种发送请求的方式。

    AJAXAsynchronous Javascript And XML)翻译成中文就是异步JavascriptXML”。即使用Javascript语言与服务器进行异步交互,传输的数据为XML(当然,传输的数据不只是XML,现在更多使用json数据)。

    ajax的两个特点:

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

    局部刷新:POST提交请求是全局刷新,ajax提交请求是响应到路由去寻找对应的函数,有请求返回才会刷新。

     2.

    ajax的创建应用场景

    当我们在百度中输入一个“老字后,会马上出现一个下拉列表!列表中显示的是包含“老字的4个关键字。

    其实这里就使用了AJAX技术!当文件框发生了输入变化时,浏览器会使用AJAX技术向服务器发送一个请求,查询包含“老字的前10个关键字,然后服务器会把查询到的结果响应给浏览器,最后浏览器把这4个关键字显示在下拉列表中。

    • 整个过程中页面没有刷新,只是刷新页面中的局部位置而已!
    • 当请求发出后,浏览器还可以进行其他操作,无需等待服务器的响应!

    当输入用户名后,把光标移动到其他表单项上时,浏览器会使用AJAX技术向服务器发出请求,服务器会查询名为zhangSan的用户是否存在,最终服务器返回true表示名为lemontree7777777的用户已经存在了,浏览器在得到结果后显示用户名已被注册!

    • 整个过程中页面没有刷新,只是局部刷新了;
    • 在请求发出后,浏览器不用等待服务器响应结果就可以进行其他操作;

     

    1.基本应用

     1 1 基本应用:
     2      $.ajax({
     3             url:'/ajax_next/',
     4             type:'get',
     5             data:{'n1':n1,'n2':n2},
     6             success:function (data) {
     7                 alert(data)
     8                 $("#sum").val(data)
     9 
    10             }
    11         })

    2.提交json数据

     1 2 提交json数据
     2          $.ajax({
     3             url:'/ajax_next/',
     4             type:'get',
     5             contentType:'application/json',//默认是urlencoding
     6             data:JSON.stringify({'name': name, 'pwd': pwd}),
     7             success:function (data) {
     8                 alert(data)
     9                 $("#sum").val(data)
    10 
    11             }
    12         })
    13         需要自己从body取出来,后续处理

    3 上传文件

     1 4 上传文件:
     2         $(".btn").click(function () {
     3         var formdata=new FormData();
     4         console.log(typeof formdata);
     5         formdata.append('name',$('[name="name"]').val())
     6         formdata.append('pwd',$('[name="pwd"]').val())
     7         formdata.append('myfile',$("#myfile")[0].files[0])
     8         console.log(formdata)
     9         $.ajax({
    10             url: '/ajax_next/',
    11             type: 'post',
    12             contentType: false,  //告诉jQuery不要去处理发送的数据
    13             processData:false, // 告诉jQuery不要去设置Content-Type请求头
    14             data: formdata,
    15             success: function (data) {
    16                 alert(data)
    17             }
    18         })
    19     })
  • 相关阅读:
    微信支付Native扫码支付模式二之CodeIgniter集成篇
    如何使用硬盘安装debian8.3?
    使用git将代码push到osc上
    树莓派(Raspberry Pi)搭建简单的lamp服务
    win下修改mysql默认的字符集以防止乱码出现
    CodeIgniter2.2.0-在控制器里调用load失败报错的问题
    Ubuntu Server(Ubuntu 14.04 LTS 64位)安装libgdiplus2.10.9出错问题记录
    linux下mono的安装与卸载
    asp.net中ashx生成验证码代码放在Linux(centos)主机上访问时无法显示问题
    使用NPOI将数据导出为word格式里的table
  • 原文地址:https://www.cnblogs.com/Roc-Atlantis/p/9635695.html
Copyright © 2020-2023  润新知