前端向后端發送數據:ajax方法
get/post方法:
<script>
document.onclick = function(){
ajax({
// type:"get", //發送方式,可選,默認get
url:"http://localhost/ajax/php/index.php", //要請求的地址,必選
success:function(res){ //請求成功之后的函數,必選
console.log(res)
},
data:{ //要發送的數據,可選,默認不發
user:"admin",
pass:13123121123
},
// error:function(res){ //請求失敗之后的函數,可選,默認不處理
// console.log(res)
// },
// timeout:10 //請求超時的時間,可選,默認2000
})
}
function ajax(options){
// 1.處理默認參數
var {type,url,success,error,data,timeout} = options;
type = type || "get";
data = data || {};
timeout = timeout || 2000;
// 2.解析要發送的數據
var str = "";
for(var i in data){
str += `${i}=${data[i]}&`;
}
// 3.根據方式,決定是否處理url
if(type == "get"){
var d = new Date();
url = url + "?" + str + "__qft=" + d.getTime();
}
// 4.開啟ajax
var xhr = new XMLHttpRequest();
// 注意:open中的方式
xhr.open(type,url,true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
// 5.執行成功之前,先判斷是否傳入
success && success(xhr.responseText);
// 成功之后,不應有失敗
error = null;
}else if(xhr.readyState == 4 && xhr.status != 200){
// 6.執行失敗之前,先判斷是否傳入
error && error(xhr.status);
// 失敗之后,不應有成功
success = null;
// 且失敗不應多次執行
error = null;
}
}
// 7.如果請求超時,執行失敗
setTimeout(() => {
error && error("timeout");
// 失敗之后,不應有成功
success = null;
}, timeout);
// 8.最后根據type的方式,決定send的發送內容和格式
if(type == "post"){
xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xhr.send(str)
}else{
xhr.send()
}
}
后台接受數據並返回到前端:php方法
<?php $u = @$_REQUEST["user"]; $p = @$_REQUEST["pass"]; echo "這是前端的ajax發送的數據,現在再還給前端:".$u."-------".$p; ?>
在PHP中使用MySQL:
注意運行的環境,可以在本地服務器上運行
<?php // 1.登錄mysql,選擇數據庫 $link = @new mysqli("localhost:3306","root","root","test"); if($link->connect_error){ echo $link->connect_error; } // 2.$link->query()向mysql發送命令 // 增 // $q = "INSERT stu (name,sex,age) VALUES('admin','1',16)"; // $res = $link->query($q); // if($res){ // echo "insert ok"; // }else{ // echo "insert no ok"; // } // 刪 // $q = "DELETE FROM stu WHERE id=6"; // $res = $link->query($q); // if($res){ // echo "delete ok"; // }else{ // echo "delete no ok"; // } // 改 // $q = "UPDATE stu SET name='root' WHERE id=6"; // $res = $link->query($q); // if($res){ // echo "update ok"; // }else{ // echo "update no ok"; // } // 查 $q = "SELECT * FROM stu"; $res = $link->query($q); if($res){ echo "select ok"; }else{ echo "select no ok"; } ?>