ajax、php、本地存储小结

ajax

  • ajax 全名 async javascript and XML
  • 默认异步 执行机制
  • 数据不在页面上,不方便搜索引擎抓取
  • AJAX不能跨域跨域使用jsonp

1.创建AJAX

  • 高版本浏览器(IE9及以上)

xhr = new XMLHttpRequest()

  • 低版本浏览器(IE9以下)

xhr = new ActiveXObject('Mricosoft.XMLHTTP')

2.配置链接信息

xhr.open('请求方式','请求地址','是否异步') // true 为异步 false 为同步 注:js中同步异步概念是相反的

3.发送请求

  • get请求参数直接加在请求地址上

xhr.send()

  • post请求参数,先设置数据格式
  • 参数采用'key=value&key=value' 的形式

xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded')
xhr.send('a=100&b=200')

jsonp跨域

script 标签的本质

  • 浏览器给我们提供了一个 script 标签
  • 它的本质就是请求一个外部资源,是不受到同源策略的影响的
  • 同时 script 标签的 src 属性,也是一种请求,也能被服务器接收到
  • 并且:
    • script标签的src属性请求回来的东西是一个字符串,浏览器会把这个字符串当作 js 代码来执行
  • 所以我们就可以利用这个 script 标签的 src 属性来进行跨域请求了

首先配置代理 (正向/反向)

正向代理

  • 有一个客户端需要向一个非同源的服务器B发送请求
  • 我们搭建一个和客户端同源的服务器A
  • 当客户端发送请求的时候,由服务器A来接受
  • 再由服务器A向服务器B发送请求,因为 同源策略是由浏览器给的,服务器之间没有
  • 服务器B接受到请求以后,会处理请求,并把响应返回给服务器A
  • 再由服务器A把响应给到客户端就可以了
  • 我们就可以用这个方式来进行跨域请求了

反向代理

  • 反向代理一般是用来做负载均衡的
  • 当我请求一个服务器的时候,其实请求的是服务器端设置的代理服务器
  • 由代理服务器把若干大量的请求分发给不同的服务器进行处理
  • 再由服务器把响应给到代理服务器
  • 代理服务器返回给客户端

PHP(世界上最好的语言?!)

php 文法书写

  • 所有的 php 代码都要写在一个 php 的范围内
  • 要求以 <?php 开头
  • 要求以 ?> 结尾
    <?php
      # php 的代码写在这里
    ?>
  • 注意php每句话后面必须有' ; '

定义变量

  • 在 php 中没有 var 关键字给我们定义变量

  • 直接使用 $ 来确定一个变量

    <?php
    
      # 下面就是一个定义了一个变量,并且赋值为 100
      # 变量名就是 $num
      $num = 100;
    
      $boo = true;
    
      # 下面是一个字符串
      $str = "你好 php";
    
    ?>

条件语句

  • 在 php 中使用条件语句和 js 基本一致

    <?php
    
    $boo = true;
    
    if ($boo) {
      echo '你好,欢迎观临!';
    } else {
      echo '您还没有登陆';
    }  
    
    ?>

循环语句

  • 在 php 中循环语句和 js 基本一致

    <?php
    
    $num = 5;
    
    for ($i = 0; $i < $num; $i++) {
      echo 'hello php';
    }
    
    ?>

字符串拼接

  • 在 php 中,字符串拼接不再是使用 + 进行拼接了,而是使用 . 进行拼接

    $str = 'hello ';
    $str2 = 'world';
    $str3 = $str . $str2;
    echo $str3;
    # 得到的就是 hello world

数组

  • 在 php 中的数组和 js 中特别不一样

    <?php
    
      # 创建一个数组
      $arr = array(1, 2, 3);
    
      print_r($arr);
      # Array ( [0] => 1 [1] => 2 [2] => 3 )
      # 这个就类似于我们 js 中的数组,按照索引来的
    
      # 创建一个关联数组
      $arr2 = array('name' => 'Jack', 'age' => 18, 'gender' => '男')
      print_r($arr2)
      # Array ( [name] => Jack [age] => 18 [gender] => 男 )
      # 这个就类似于我们 js 中的 对象,键值对的形式
    
    ?>

操作数据库

完整步骤

  • 我们完整的写一下操作的步骤

    <?php
      $conn = mysql_connect('localhost', 'root', 'root');
      mysql_select_db('test1913');
      $res = mysql_query('SELECT * FROM `student`');
      $row = mysql_fetch_assoc($res);
      mysql_close($conn);
    
      print_r($row);
    ?>

本地存储

localStorage、sessionStorage、cookie

  1. localStorage和sessionStorage都是用来存储客户端临时信息的对象。
  2. localStorage和sessionStorage都只能存储字符串类型的对象
  3. localStorage生命周期是永久,除非用户手动清除localStorage信息,否则这些信息将永远存在。
  4. sessionStorage生命周期为当前窗口或标签页,一旦窗口或标签页被永久关闭了,那么通过sessionStorage中存储的数据也就被清空了。
  5. 不同浏览器无法共享localStorage或sessionStorage中的信息。相同浏览器的不同页面间可以共享相同的localStorage(页面属于相同域名和端口),但是不同页面或标签页间无法共享sessionStorage的信息。

使用方法

var xxx="xxx";
localStorage.setItem("xxx",xxx);
xxx=localStorage.getItem("xxx");
// localStorage.xxx

var xxx="xxx";
sessionStroage.setItem("xxx",xxx);
xxx=sessionStorage.getItem("xxx");
// sessionStorage.xxx

 

vue生命周期.png

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值