一、客户端和服务器端
客户端:自己的本地电脑
file://本地文件传输协议(访问本地计算机的文件)
服务器:远程的电脑
https://www.baidu.com/index.html:访问百度电脑上某一个文件
1.PHP变量
2.索引数组和关联数组
3.json_encode()将PHP转换为JSON字符串
in_array(值,数组)判断值是否在数组中
wamp环境: C:\wamp\www:当前localhost网站的主目录(允许用户访问的目录) xampp环境: c:xampp\htdocs:当前localhost网站的主目录(允许用户访问的目录) ***迫切注意:千万不要让PHP的路径中含有中文
二、两种不同请求
光明正大->访问服务器的过程:
浏览器的地址栏中输入网址,浏览器会根据地址去对应的服务器获取HTML,CSS,JS,图片和音视频等资源,将获取的内容解析并输出,就获取到我们看到的页面
偷偷摸摸->访问服务器的过程:
浏览器偷偷的去服务器获取数据,将获取的数据交给JS进行进一步加工,获取到我们想要的结果(百度搜索,判断用户名是否存在,新浪网站动态加载新闻,瀑布流)
三、AJAX理解
AJAX:偷摸访问就是AJAX的实际过程
(* )具体理解:浏览器没有被刷新,而页面的内容动态改变
优点:
1.与服务器进行异步通讯,“按需索取”,减轻服务器的压力
2.加载资源减少,用户等待时间降低,提升用户体验
缺点:
1. 没有history功能
2. 不安全,返回的数据有可能被窃取
3. 搜索引擎不友好
四、AJAX具体介绍
Async JavaScript And XML:异步javascript和XML 4.1 前后台交流数据:XML和JSON:用户数据传输和保存 HTML:超文本标记语言 XML:可扩展标记语言(自定义标签)只是为了存储和传输数据
JSON格式:
{
“title”:”潘金莲和西门庆的故事”,
“author”:”孙浩”,
“time”:”2016-10-13”,
“content”:”文章内容”
}
4.2 具体过程:分get请求和post请求 明着:在浏览器地址栏中输入地址,请求数据 偷偷请求:创建XMLHttpRequest请求对象,到达服务器请求数据,然后返回获取的数据
==================GET请求====================
// 1.创建XMLHttpRequest请求对象 var xmlhttp = new XMLHttpRequest(); // 2.配置 xmlhttp.open('GET',url,true); // 3.发送 xmlhttp.send(); // 4.监听是否成功 xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { console.log(xmlhttp.responseText); } } ==================GET请求==========================
==================POST请求==========================
// 1.创建请求对象
var xml = new XMLHttpRequest();
// 2.配置 xml.open('POST', '5.php', true); // 3.发送请求 // post发送必须设置头信息(如果post请求不设置头信息,后台接收不到发送的数据) xml.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // 将发送的数据放在send中 xml.send('username=songchao'); // 4.监听发送的过程 xml.onreadystatechange = function(){ if (xml.readyState == 4 && xml.status == 200) { alert(xml.responseText); } }
==================POST请求==========================
4.3封装AJAX的GET请求
function get(url,callback){
// 1.创建XMLHttpRequest请求对象
var xmlhttp = new XMLHttpRequest();
// 2.配置 xmlhttp.open('GET',url,true); // 3.发送 xmlhttp.send(); // 4.监听是否成功 xmlhttp.onreadystatechange = function(){ if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { callback(xmlhttp.responseText); } } }
封装AJAX的POST请求
function post(url,data,callback){
// 1.创建请求对象
var xml = new XMLHttpRequest();
// 2.配置 xml.open('POST', url, true); // 3.发送请求 // post发送必须设置头信息(如果post请求不设置头信息,后台接收不到发送的数据) xml.setRequestHeader("Content-type","application/x-www-form-urlencoded"); // 将发送的数据放在send中 xml.send(data); // 4.监听发送的过程 xml.onreadystatechange = function(){ if (xml.readyState == 4 && xml.status == 200) { callback(xml.responseText); } } }