常見問題解決

一、HTTP的常見響應碼:

2:成功類php

200:請求成功node

3:重定向(服務器須要瀏覽器從新請求)ajax

304: not modified    文件未修改數組

4:客戶端錯誤瀏覽器

403: Forbidden緩存

404: Not Found安全

5:服務器錯誤服務器

二、JS與PHP的數據分類(寫時複製?)

JS:app

基本數據類型:number、string、boolean、undefined、null框架

符合數據類型:  array、object、function

PHP:(三大類八小類)

 標量數據類型: int  float  bool  string

 符合數據類型: array   object

 特殊數據類型: null      resource

三、佈局樣式和定位

         1)display

         2)overflow 內容溢出

         3float:主要解決了塊元素共存一行的問題

                   A、任何設置浮動的元素都將轉化爲塊元素

                   B、設置float的元素將會浮起來

                   C、其後未設置浮動的元素將會來添補元素在文檔流中的位置

                   D、浮動的清除:①在未浮動層前設置清除浮動層 clear:both

                                                 ②在未浮動層上設置清除浮動

                                                 ③在父元素上設置清除浮動

定位:

①   絕對定位:fixed

會脫離文檔流,相對於窗口進行定位

         ② 相對定位:relative

            不會脫離文檔流,相對原來的位置進行定位(停薪留職)

         ③ 絕對定位:absolute

                   會脫離文檔流,相對於父元素或窗口進行定位

         一般將父元素設置爲相對定位,子元素設置爲絕對定位

區別:

浮動一般是將塊元素放置在一行當中進行排版,不能超過父元素,不能控制位置,只能有兩層

定位一般是設定元素的位置,能夠超出父元素,能夠控制位置,能夠有多層

四、盒子模型

         W3c: width(content) + padding + border + margin

         IE:    width(content+padding+border)+margin

若是有使用DTD的約束則爲W3C盒子模型,沒有DTD則使用什麼瀏覽器就是什麼盒子

五、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中使用原生的代碼的時候也是須要加上此請求頭

六、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’);       // 無緩存必須從響應

         緩存的好處:減小對放武器的請求次數,加快響應時間

七、XML

釋義:可擴展的標記語言,主要用於數據的存儲和傳輸(完成大批量數據的傳輸,超過兩條)

①   PHPJSxml的解析的區別

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’)

八、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                      固定值

值                               默認值

九、HTML

HyperText Markup Language(超文本標記語言)

 

十、Linux下文件權限問題

在Linux下文件都有三個權限分別爲:擁有者權限r,所屬組成員權限w,組外用戶權限x

 -rwx à111(二進制)à7                  // - 表明文件

 dr-x à101à5                                    // d 表明文件夾

 r-x à101à5

相關文章
相關標籤/搜索