[前端学习]AJAX部分学习笔记,第一天

AJAX

  • ajax全程是Asynchronous Javascript and Xml(异步Javascript和Xml),也叫异步加载
  • 它的作用是让前后端技术能够混合交互,是前端加载数据时不需要重载页面,增强用户体验,更有桌面程序的感觉
  • ajax能够实现的功能:
    • 显示新的html内容而不用完全加载页面
    • 提交表单立即显示结果
    • 登录不用跳转页面
    • 星级评语组件
    • 遍历数据库数据显示,不用重载页面
    • 等等

ajax涉及技术

  • 服务器与客户端
    • 本质上都是智能计算机(手机、pad、智能家电也算是)不过配置和系统不同,服务器就是存储网页资源的东西,你浏览的任何网页上的内容都是客户端像服务器发送请求,然后服务器返回的。在调试工具中的network选项中可以查看页面的所有资源文件
    • 它们大致都可以分为硬件、系统、软件。不过客户端的软件多是个人使用的,而服务端软件多是提供互联网服务的
  • 网络相关概念
    • ip地址,网络通信的唯一标识,相当于是你使用设备的身份证。但是IP地址可能会随机改变,不多做深入
    • 域名,因为IP地址是一串数字,所以为了方便记忆就有了域名,域名实际就是绑定到对应的ip,通过访问域名就能访问对应的ip
    • DNS,用来维护域名与ip地址间的绑定关系。访问域名查询到对应的ip就是它来实现。它默认会先从本机的host文件中查找绑定关系,没有再从网络中找对应绑定关系
    • 端口。ip能确定找到某一台计算机,但是却没办法找到那台计算机上某一个应用程序,端口就可以帮助计算机找到另一台计算机上的某个应用程序。计算机最多支持65536个端口,但是前1024个端口是系统使用的
  • 通信协议
    • 计算机与计算机之前进行数据交互,需要通信协议。协议里包含很多了信息,比如域名、ip、设备信息、等等,不多做介绍。前端常用的就是http协议,也叫作超文本传输协议。请求和发送超文本文件

网站的定义

  • 网站就是由一系列的页面来组成
  • 静态网站
    • 静态网站就是将提前写好或者准备好的静态资源都放在服务器上,访问时将服务器端的资源加载到本机上进行查看
    • 存在的缺点:
      • 随着网站规模的逐渐扩大,可维护性越来越低
      • 没有交互性,只能看不能操作
  • 动态网站
    • 动态网站就是指html页面是动态生成的,当然这里指的动态生成不一定是全部页面,可能是页面的部分内容或者某些数据。通过动态的方式就能弥补静态网站的缺点

实现动态网站的技术

  • 动态网站一般都是通过后端语言来配合实现的。比如:php、java、.net、python、node.js等等,根据实际需求来选择即可

PHP基础语法

初始语法

  • 首先php代码必须包裹在<?php ?>
  • 讲内容输出到页面使用echo,类似于js的document.write()
  • js中字符串拼接使用+,而PHP中字符串拼接使用.
  • php中如果单引号包裹了变量,那么直接会将变量当作字符串输出。但是如果双引号包裹了变量,那么会解析变量输出值
题外话:
  • 在js中单双引号基本没有区别,唯独json字符串有。json字符串格式var json = '{"username":"zs"}';,可以看到json字符串外部用单引号,内部键值对用双引号。将json字符串转换为json对象需要使用JSON.parse()方法
  • 当然这只是引出的js知识点,与php无关

变量声明

  • 变量声明使用$符,命名规则与js一样,字符数字下划线组成且不能以数字开头,变量名对大小写敏感

内容输出

  • echo打印简单数据,比如字符串数值等
  • print_r()打印复杂数据结构,比如数组
  • var_dump()打印详细的复杂数据信息,比如数组、对象等,它不仅会打印数据结构,还会打印数据值类型和长度等详细信息

数组

  • $arr = array(1,2,3,4,5);声明数组赋值,默认是数字索引从0开始
  • $arr = array("one" => '一', "two" => "二")也是声明数组赋值,但是使用字符串索引来替代数字索引。这里就与js有区别了,js数组没有字符串索引,如果写了实际上是变成了对象形式的属性和属性值
  • 访问单个数组值$arr[0]或者$arr['one'],访问方法和js一样
  • 另外php中,数字索引和字符串索引不冲突。比如数组中的值,有几个有字符串索引,有一个只有值没写字符串索引。那么它默认会给该值加上数字索引,依然是从0开始
  • js和php同为弱类型语言,所以对数组值的类型没有限制,但一般很少放复杂数据类型
  • php中获取数组的长度使用count()方法,它内置了foreach方法来遍历数组,功能等同于jq中的each方法

数据类型

  • php的数据类型有整型、浮点型、字符串、布尔、数组、对象、空,基本差不多。浮点型就是小数点。使用gettype()方法可以获取变量的类型

函数

  • 几乎与js一样,有自定义函数和内置函数。也有预解析,但是php中函数名不区分大小写,js区分

HTTP常用的请求方式

  • get从服务器获取数据
  • post往服务器添加数据
  • put修改或者更新服务器的数据
  • delete删除服务器数据

前端常用的PHP预定义全局变量

  • $_GET['参数名']获取到对应参数的值
  • $_POST['参数名']与get功能一样
  • get和post两种传输数据的方式不一样,get方式传输的数据会作为url地址的参数,以?连接;而post请求方式数据会放在http头部中传输,并且传输数据大小也比get多
  • 另外要注意表单传输数据,一般是name属性值作为参数名。如果不写传输方式,默认是get传输
  • 题外话:可以使用header('Content-type:xxx')方法设置服务器返回文件类型

后台接口

  • 通过后代语言,可以返回完整动态页面,也可以返回一组数据
  • 返回完整动态页面,在以前用得比较多。这种技术也叫做服务器端渲染技术
  • 现在用得最多的还是通过后端语言根据前端发送的值查询数据库,并返回一组对应的数据
  • 数据类型有很多(比如:数值、字符串、html结构,json数据都有可能,根据你业务需求来定。注意:不管什么类型数据浏览器接受到后都是作为字符串处理),用得最多的还是返回json数据,前端使用ajax来配合解析获取
  • 后台接口就是API的一种

后台请求流程

  • 实际上apache服务器(其他服务器也是)没有任何解析功能,静态页面是直接返回资源文件,直接由前端浏览器来渲染。而后端语言是由内置在服务器中的语言模块,渲染完毕后再由服务器返回给前端
  • 所以可以这样理解,后端语言动态文件都是在服务器端由服务器调用模块直接渲染完毕。跟前端没有关系,前端只是负责接受数据
  • 前端和后端渲染的对象是不同的

前后端的分工

  • 笼统的说就是:前端负责实现页面样式结构特效等,而具体的数据则由后代进行动态的填充
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 199,271评论 5 466
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 83,725评论 2 376
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 146,252评论 0 328
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 53,634评论 1 270
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 62,549评论 5 359
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 47,985评论 1 275
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,471评论 3 390
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,128评论 0 254
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,257评论 1 294
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,233评论 2 317
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,235评论 1 328
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,940评论 3 316
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,528评论 3 302
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,623评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,858评论 1 255
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,245评论 2 344
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 41,790评论 2 339

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,559评论 18 139
  • 两周一本 2月5日—6月25日 当我遇见一个人 这样装修不后悔 筑巢记 家居配色指南 小家,越住越大 接纳孩子 游...
    多美麻麻阅读 213评论 0 1
  • 有时候50后、60后、70后老板对人员忠诚度的要求,是和现在的80后、90后的追求有很大差异的。 比如,公司要招聘...
    山水千万重阅读 1,808评论 0 0