常见问题解决
1、HTTP的常见响应码:
2:成功类
200:请求成功
3:重定向(服务器需要浏览器重新请求)
304: not modified 文件未修改
4:客户端错误
403: Forbidden
404: Not Found
5:服务器错误
2、JS与PHP的数据分类(写时复制?)
JS:
基本数据类型:number、string、boolean、undefined、null
符合数据类型: array、object、function
PHP:(三大类八小类)
标量数据类型: int float bool string
符合数据类型: array object
特殊数据类型: null resource
3、布局样式和定位
1)display
2)overflow 内容溢出
3)float:主要解决了块元素共存一行的问题
A、任何设置浮动的元素都将转化为块元素
B、设置float的元素将会浮起来
C、其后未设置浮动的元素将会来添补元素在文档流中的位置
D、浮动的清除:①在未浮动层前设置清除浮动层 clear:both
②在未浮动层上设置清除浮动
③在父元素上设置清除浮动
定位:
① 绝对定位:fixed
会脱离文档流,相对于窗口进行定位
② 相对定位:relative
不会脱离文档流,相对原来的位置进行定位(停薪留职)
③ 绝对定位:absolute
会脱离文档流,相对于父元素或窗口进行定位
通常将父元素设置为相对定位,子元素设置为绝对定位
区别:
浮动通常是将块元素放置在一行当中进行排版,不能超过父元素,不能控制位置,只能有两层
定位通常是设定元素的位置,可以超出父元素,可以控制位置,可以有多层
4、盒子模型
W3c: width(content) + padding + border + margin
IE: width(content+padding+border)+margin
如果有使用DTD的约束则为W3C盒子模型,没有DTD则使用什么浏览器就是什么盒子
5、GET和POST请求的区别
①传递的参数不同:get请求是追加在url中,post是隐藏在请求头的空白行中
②传递参数的大小不同:get最大可以传递2k,post从理论上是没有限制的,但php.ini中的限制是8M,浏览器Firefox为10M,在程序中一般限制为2M
③安全性不同:post高于get请求
④传值的类型不同:get请求传递字符串,post请求可以传递中文字符和二进制数据
⑤请求头的信息也是不同的:post包含有:
content-type:application/x-www-form-urlencoded
在Ajax中使用原生的代码的时候也是需要加上此请求头
6、Ajax
释义:A:Asynchronous :异步
J: JS
A: and
X: xml
异步JS和xml
①Ajax对象的创建
W3C: Xhr = new XMLHttpRequest()
Ie: xhr = new ActiveXObject(‘Microsoft.XMLHTTP’)
②Ajax的使用步骤
a) 创建ajax对象(通过try{return new XMLHttpRequest()}catch(e){}异常机制来解决兼容性问题)
b) 设置回调函数 xhr.onreadystatechange=function(){
e) 判断与执行
Xhr.status==200&&Xhr.readyStatus==4
}
c) 初始化ajax对象xhr.open(‘get’,’?.php’)指定请求方式和请求页面
d) 设置请求头信息【post请求】
(xhr.setRequestHeader (‘content-type’,’application/x-www-form-urlencoded’))
e) 发送信息xhr.send(null) 【get请求发送的参数带在url后,post参数组装后send发送】
③在IE浏览器下缓存的解决
A、随机数
B、时间戳
C、通过设置缓存文件的最后修改时间(在某段时间内第二次请求某个页面时服务器会检查文件的最后的修改时间,来判断文件是否存在于客户端中)
setRequestHeader(‘If-modifiy-since’,‘0’) // 需设在open后
D、在服务器端设置
Heaer(‘Cache-control:no-cache; must-revalidate’); // 无缓存必须从响应
缓存的好处:减少对放武器的请求次数,加快响应时间
7、XML
释义:可扩展的标记语言,主要用于数据的存储和传输(完成大批量数据的传输,超过两条)
① PHP和JS中xml的解析的区别
PHP: 在php中为非标准的DOM模型 à 将值存储在最后的子节点中
JS: 在js中为标准的DOM模型 à 将值存储在其他的节点
用法:
PHP DOM模型:主要实现数据的增、删、改功能
SimpleXML模型:主要实现数据的查询功能
a) DOM模型解析查询(标准型)
$dom=new DOMDocument(‘1.0’,’utf-8’); // 面
$dom->load($str);
$nd=$dom->getElementsByTagName(“TagName”); //串
$value=$nd->item(0)->nodeValue // 点
b) SimpleXml模型查询(非标准型)
$xml=simplexml_load_string($str);
$first = $xml->first;
$second= $xml->second;
c) Xpath指令查询
创建一个simpleXml 模型使用Xpath指令来进行查询
d) JS中的解析xml数据(标准型)
var xml=xmlHttp.responseXML; // js中接收返回的xml数据
nodevalue=xml.getElementsByTagName(“TagName”). node[0].childNodes[0].nodeValue;
② 如果服务器端想要返回xml数据则必须设置
header(‘content-type:text/xml;charset=utf-8’)
8、DTD约束
为什么要使用DTD约束? document type definition
DTD约束的作用是约束文档的类型(框架型/普通型/严格型)以及文档的书写规范(允许出现的元素名称、属性及元素出现的顺序等)
① 元素(节点)的定义
(#PCDATA) 可以包含任何的数据内型,但不能包含子元素 <name></name>
(#EMPTY) 不能包含任何的数据内型,可以包含属性
(#ANY) 可以包含任何内型的子元素,常用在根节点
(子元素) 只能出现一次
(子元素1,子元素2….) 可以出现多个子元素
(子元素1*,子元素+,子元素?)
(子元素1 | 子元素2 | 子元素3) 互斥元素,不能同时出现
② 属性的定义
基本语法:
<!ATTLIST 元素名称 属性名称 属性类型 默认值>
属性的内型和默认值是可以任意的搭配的
属性类型:
CDATA 字符或数字
(en1|en2|……) 枚举类型
ID 属性唯一 IDREF 引用
默认值:
#REQUIRED 必填
#IMPLIED 可选
#FIXED 固定值
值 默认值
9、HTML
HyperText Markup Language(超文本标记语言)
10、Linux下文件权限问题
在Linux下文件都有三个权限分别为:拥有者权限r,所属组成员权限w,组外用户权限x
-rwx à111(二进制)à7 // - 代表文件
dr-x à101à5 // d 代表文件夹
r-x à101à5

浙公网安备 33010602011771号