前後端交互總結

1、jquery

事件:

鼠標:click, dbclick, mouseenter, mouseleave, hover鍵盤:keypress, keydown, keyup表單:submit, change, focus, blur文檔或窗口:load, resize, scroll, unload

常用函數

獲得內容 - text()、html() 以及 val():

text() - 設置或返回所選元素的文本內容html() - 設置或返回所選元素的內容(包括 HTML 標記)val() - 設置或返回表單字段的值

jquery的for循環

爲每個匹配元素規定要運行的函數: $(selector).each(function(index,element))index - 選擇器的 index 位置。element - 當前的元素(也可使用 "this" 選擇器)

jQuery addClass() 方法:$("button").click(function(){ $("h1,h2,p").addClass("blue"); $("div").addClass("important");});

jQuery $.ajax({name:value, name:value, ... }) 方法:

請求頭

data 規定要發送到服務器的數據。url 規定發送請求的 URL。默認是當前頁面。type 規定請求的類型(GET 或 POST)。success(result,status,xhr) 當請求成功時運行的函數。error(xhr,status,error) 如果請求失敗要運行的函數。

 

2、mysqli

示例:

// 1、連接數據庫
​
$link = @mysqli_connect('localhost','root','123456');
​
// 2、成功與否判斷
​
if (!$link) {
​
exit('error('.mysqli_connect_errno().'):'.mysqli_connect_error());
​
//die
​
}
​
// 3、選擇數據庫
​
if (!mysqli_select_db($link,'test')) {
​
echo 'error('.mysqli_errno(link).'):'.mysqli_error(link);
​
mysqli_close($link);
​
die;
​
}
​
// 4、設置字符集
​
mysqli_set_charset($link,'utf8');
​
// 5、準備SQL語句
​
$sql = 'select * from star where id > 100';
​
// 6、執行SQL語句
​
result = mysqli_query(link,$sql);
​
if (result && mysqli_num_rows(result)) {
​
// 7、處理數據
​
/*mysqli_fetch_row:獲取一條數據的索引數組
​
mysqli_fetch_assoc:獲取一條數據的關聯數組
​
mysqli_fetch_array:獲取一條數據的指定數組,
​
類型取決於第二個參數
​
mysqli_fetch_all:獲取結果集中的所有數據,
​
類型取決於第二個參數
​
第二個參數:MYSQLI_NUM(索引數組)
​
MYSQLI_ASSOC(關聯數組)
​
MYSQLI_BOTH(索引和關聯都有)*/
​
var_dump(mysqli_fetch_all($result,MYSQLI_ASSOC));
​
​
​
while (row = mysqli_fetch_array(result,MYSQLI_NUM)) {
​
var_dump($row);
​
}
​
} else {
​
}
​
// 8、釋放資源、關閉連接
​
mysqli_free_result($result);
​
mysqli_close($link);
​
面向對象:
​
<?php
​
$mysql_conf = array(
​
    'host'    => '127.0.0.1:3306', 
​
    'db'      => 'test', 
​
    'db_user' => 'root', 
​
    'db_pwd'  => '123456', 
​
    );
​
mysqli = @new mysqli(mysql_conf['host'], mysql_conf['db_user'], mysql_conf['db_pwd']);
​
if ($mysqli->connect_errno) {
​
    die("無法連接數據庫:\n" . $mysqli->connect_error);//診斷連接錯誤
​
}
​
$mysqli->query("set names 'utf8';");//編碼轉化
​
select_db = mysqli->select_db($mysql_conf['db']);
​
if (!$select_db) {
​
    die("could not connect to the db:\n" .  $mysqli->error);
​
}$sql = "select uid from user where name = 'joshua';";
​
res = mysqli->query($sql);
​
if (!$res) {
​
    die("sql error:\n" . $mysqli->error);
​
}
​
 while (row = res->fetch_assoc()) {
​
        var_dump($row);
​
    }
​
$res->free();
​
$mysqli->close();
​
?>
​

3、session

//第一步:開啓Session並初始化
session_start();
​
//第二部:刪除所有Session的變量,也可以用unset($_SESSION[XXX])逐個刪除
$_SESSION = array();
​
//第三部:如果使用基於Cookie的session,使用setCookkie()刪除包含Session ID的cookie
if(isset($_COOKIE[session_name()])) {
    setCookie(session_name(), "", time()-42000, "/");//設置cookie立刻失效
}
​
//第四部:最後徹底銷燬session
session_destroy();

4、XMLHttpRequest

基本步驟:
​
1、創建XMLHttpRequest對象
var xhr = null;
if (window.XMLHttpRequest) {
    xhr = new window.XMLHttpRequest();
} else {
    xhr = new ActiveXObject(“Microsoft.XMLHTTP”);
}
2、建立連接
xhr.open(“get”,”ajax.php?name=xxx&email=yy”, true);
3、發送請求
[xhr.setRequestHeader(“Content-type”,”application/….”);]
xhr.send();
4、註冊回調函數
xhr.onreadystatechange = function () {
if(xhr.readyState  ===  4) {
    if(xhr.status  ==  200) {
       …
    }
}
​
屬性:
responseType:  text, json, document, blob, arraybuffer, moz-chuncked-arraybuffer
​
responseText, responseXML
​
readyState: 0~4
​
status: 200, 404, 500...
​
timeout, upload, withCredentials
​
方法:
​
open(), setRequestHeader(), send(),  getResponseHeader()
​
事件:
onreadystatechange, ontimeout,  onerror, onload,  onprogress
​
​
​

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章