11.AJAX请求(一)

112 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第8天,点击查看活动详情

AJAX概念

  • Asynchronous Javascript And XML(异步JavaScript和XML),

  • AJAX并不是一种语言,而是一种创建交互式网页应用的网页开发技术

  • AJAX是Javascript、XHTML和CSS、DOM、XML和XSTL、XMLHttpRequest 等技术的组合

    • 使用XHTML+CSS来标准化呈现;
    • 使用XML和XSLT进行数据交换及相关操作-json代替;
    • 使用XMLHttpRequest对象与Web服务器进行异步数据通信;
    • 使用Javascript操作Document Object Model进行动态显示及交互;
    • 使用JavaScript绑定和处理所有数据
  • AJAX核心对象是XMLHttpRequest

问题?

  • 什么是异步
  • 什么是页面无刷新,进行局部更新
  • 没有提交表单,谁发的请求
  • 怎么显示请求过来的数据
  • 前后交互的方式有哪些

AJAX工作原理

AJAX优缺点

  • AJAX异步处理的优点

    • 减轻服务器的负担,AJAX一般只从服务器获取只需要的数据。
    • 无刷新页面更新,减少用户等待时间。
    • 更好的客户体验,可以将一些服务器的工作转移到客户端完成,节约网络资源,提高用户体验
    • 无平台限制
    • 促进显示与数据相分离
  • AJAX异步处理的缺点

    • 页面中存在大量js,给搜索引擎带来困难
    • AJAX干掉了Back和History功能,即对浏览器机制的破坏
    • 存在跨域问题 域名
    • 只能传输及接收utf-8编码数据

PHP基础

php环境的安装,使用xampp(Apache+MySQL+PHP+PERL)是一个功能强大的建站集成软件包。查看百度百科解释

使用英文官网地址下载:www.apachefriends.org/index.html

ajax实现的是前后端交互,所以需要对应的后端语言作为支撑

PHP输出变量

  1. echo 输出一个或者多个字符串
echo "Hello, world!"."
";
echo("你好");
  1. print() 输出一个字符串
print("郑州");
  1. printf() 格式化输出语句
$age = 18;
$weight = 77.5;
printf("你好....%d, 体重 = %f"."<br>", $age, $weight);
  1. 输出数组
print_r($age);
// 索引(index)数组
$week = array("周一", "周二", "web");
// 关联数组
$per = array("name"=>"张三", "age"=>18, "sex"=>"男");
print_r($week);
echo "
";
print_r($per);
  1. var_dump(): 输出数组和基本变量, 并能够将变量的类型输出出来
echo "
";
var_dump($week);
​
echo "
";
var_dump($per);
​
echo "
";
var_dump($age);
​
echo "
";
var_dump($weight);
​
echo "
";
echo "
";
echo "
";
echo "
";
echo "
";

变量的定义和输出

  1. 变量

1, 定义变量以$开头, 不用加 var

2, 变量名由数字, 字母, 下划线组成, 数字不能开头

3, 区分大小写

4, 见名知意

$age = 18;
$Age = 20;
echo $age."
".$Age."
";
​
$num;// 如果不赋初值结果是 NULL
var_dump($num);
echo "
";
  1. 变量的赋值
// 1, 值赋值
$a = 3;
$b = 5;
$c = $a;
echo $a.",".$b.",".$c."
";
$c = 100;
echo $a.",".$b.",".$c."
";
​
// 2, 址赋值
$d = &$b;
echo $a.",".$b.",".$d."
";// 3, 5, 5
$d = 100;
echo $a.",".$b.",".$d."
";// 3, 5, 100
  1. 常量

常量定义语法:

  • define(参数一, 参数二, 参数三)
  • 参数一: 常量的名字
  • 参数二: 常量的值
  • 参数三: 布尔值, 是否区分大小写. true 代表不分区, false 代表区分. 默认值 false(一般使用默认值)
define("PI", 3.1415, TRUE);
​
echo PI * 2;
echo Pi * 2;
echo pI * 2;
echo pi * 2;
​
echo "
";

函数

  1. 基础结构
function sum($a, $b) {
	return $a + $b;
}
echo sum(3, 5);
  1. 定义函数, 交换两个变量的值
function changeNum(&$a, &$b) {
	$temp = $a;
	$a = $b;
	$b = $temp;
	echo $a.", ".$b;// 5, 3
}

$aNum = 3; $bNum = 5;
changeNum($aNum, $bNum);
echo $aNum.", ".$bNum;// 5, 3

php的外部引入文件

// include, require, include_once, require_once都可以引入外部 php 文件. 
includeinclude_once 的区别: 
		通过 include_once 引入外部文件, 无论引入多少次, 结果都只会引入一次;
		通过 include 多次引入外部 php 文件, 会将外部 php 文件中的内容复制多次到当前页面中, 会造成代码冗余.
    
requirerequire_once 的区别: 
		与上述 includeinclude_once 的区别 相同.
    
includerequire 的区别:
		当通过 require 引入的外部文件中内容报错或者文件路径出错, 会影响到当前页面代码的执行; 
而通过 include 引入不会影响当前页面代码的执行.

接收传递过来的数据

// 获取前端post请求传递过来的数据
$user = $_POST["un"];
$pass = $_POST["ps"];

var_dump($pass); // 返回数据类型
if ($user == "123" && $pass == "123") {
		echo "POST是咱的人";
} else {
		echo "POST不是咱的人";
}