ajax的运用

交互

form 提交:

1、action:   提交的地址
2、name-value 对的形式
    网址:https://www.baidu.com/?uname=qqqqqq&upass=wwww
        https://    协议
        www.baidu.com   域名
        ?  后面就是数据,或者叫参数
        uname=qqqqqq    一条数据,符合name-value对的形式
        &   多个参数间的分隔
3、method:  get    post
    post:  其它网站不允许随便通过post来提交数据
        容量:非常大(2G)
        安全:相对安全
        post缺点:
            1)刷新页面
            2)不能从服务器获取数据
    get: url提交 或 问号提交,容量比较小,通常是几十k左右,不安全(把数据都暴露到地址栏)
         get优点,应用场景 :
            分享,收藏
缓存:cache
针对同一个地址(URL),浏览器只读取一次。
    对用户来说——好
    对程序员来说——基本上就是灾难
如果想不用缓存:就把URL地址变成不一样的就行了(在url上加一些没有用的参数)
    ***Math.random()

ajax:

Asynchronous    Javascript  And  XML
   异步的javascript 和 xml
       就是异步的获取数据或者提交数据。
同步,在程序中,一件事情做完再做下一件
异步,在程序中,做一件事情的同时做另外的事情

jquery的ajax:

1、请求一个简单的文件
    $.ajax('1.txt');
2、读取/利用 返回的内容
    $.ajax({
        url:'ajaxFile/1.txt',
        success:function(result){  //请求成功之后的回调函数
            //result ——  就是本次请求返回的结果
        }
    });
3、失败的回调
$.ajax({
    url:
    success:function(){},
    error:function(){
        alert('出错了');
    }
});
4、看的并不是文件的扩展名,而是和文件的内容有关(碰到一个特殊:.js文件)
     通常情况下,约定,数据文件的扩展名: 使用  .json   .data
5、不管看到的结果是什么,都是字符串类型
    序列化:
        把对象变成字符串,ES5提供的方法: JSON.stringify(字符串);
            JSON.stringify('{"a":1,"b":2}');
    反序列化:
        把字符串变成对象
            JSON.parse({"a":1,"b":2});
6、数据类型
    $.ajax({
        dataType:
    });
7、
    dataType:'json',
    ——并不是咱们传统意义上理解的纯JSON格式,可以兼容JSON+数组的写法
8、缓存
   解决办法: 
   1)
     在URL地址上加一个随机数
        url + 'r='+Math.random();
     随机数: 随机因子
   2)利用jquery的一个选项参数
        cache:false 
     $.ajax({
          url:  //请求的地址
          dataType:'json' // 默认 字符串
          cache: false //默认true
          success:function(){}  //成功后的回调函数
          error:function(){}  //失败后的回调函数
      });

总结:
1)服务器环境
2)对于请求的结果,默认情况下不管看到的是什么,其实都是字符串
    如果指定了dataType,指定的是什么就是什么
3)缓存
    缓存:对于一个相同的url,浏览器只读一次
    解决:
        a)在请求的url上,加一个随机因子,使得所有的url都不相同了
        b)$.ajax  的选项:  cache:false —— 不允许缓存
4)编码
    统一编码,一般UTF-8
5)请求的文件名,和扩展名没有关系,主要看文件内容
    数据文件的扩展名:  json  和  data
    
数组随机排序:
    arr.sort(function(){
        return 0.5 - Math.random();
    });

ajax做交互

接口:
   前台和后台做交互时使用的一个地址。
   现在:  取数据——  badu.data    a.txt
   实际:  取数据——  http://localhost/1.php?a=1

接口文档:描述接口信息的一个文档。
   至少应该包含 :  
       1)接口说明 (接口的功能)
       2)接口地址
       3)接口中的参数 
       4)返回值
user.php?act=xxx&user=用户名&pass=密码
模拟:  
    用户注册:   用户名:amdin   密码:1234
    $.ajax({
       url:'user.php?act=add&user=admin&pass=1234'
    });

接口文档 ——  >   接口协议
   “用户注册协议1.2.docx”

用户的注册、登录:
   * 做交互时,请求的路径中不允许有中文

在做交互时,如果涉及到中文数据,那么一定要进行编码:
    编码:  encodeURIComponent(要编码的字符串);
    解码:  decodeURIComponent(要解码的字符串);

你可能感兴趣的:(ajax的运用)