首先在用ajax之前,先說一下JSON:
JSON:javascript object notation js對象標記
對於json,我們只需要知道如何定義json?如何輸出?怎么遍歷?
1、定義json
var a =
{
"one":"111",
"two":"222",
"three":arr, -------可以是數組(var arr=new Array(2,3,4))
"four":{"hello":"您好"}------可以是json
}
由此可知:我們用花括號保存對象,用逗號分隔,寫法有點像關聯數組
2、輸出json
alert(a.one)
alert(a.four.hello)
3、遍歷json
for(var k in a)
{
alert(a[k]);
}
例題1:用ajax判斷用戶是否已存在?
1、首先用到數據庫表:login表

2、要實現的效果
當輸入表中任意一個用戶名時,顯示該用戶已注冊

當輸入不再表中的任意用戶名時,顯示可以注冊

login.php代碼如下:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title></title> <!--引入js包--> <script src="../jquery-3.2.0.js"></script> </head> <body> <h1>判斷用戶名是否已存在</h1> 登錄名:<input type="text" id="dl"/><span id="ts"></span><br /><br /> </body> </html> <script type="text/javascript"> //當鼠標失去焦點時顯示 $("#dl").blur(function(){ //必須取值,不然傳不到值 var uid = $(this).val(); //用ajax去數據庫匹配, $.ajax({ url:"login-cl.php", //要處理的頁面 data:{u:uid}, //要傳過去的數據 type:"POST", //提交方式 dataType:"TEXT", //返回的數據類型,TEXT字符串 JSON返回JSON XML返回XML;dataType中T要大寫!! success:function(data){ //回調函數,data為形參,是從login-cl.php頁面返回的值 if(data.trim()=="ok") //trim()去空格,因為會返回全部內容,包括空格回車等,所以 { $("#ts").html("此用戶名可以注冊!"); $("#ts").css("color","blue"); } else { $("#ts").html("此用戶名已被注冊!"); $("#ts").css("color","red"); } } }); }) </script>
login-cl.php代碼:
<?php
$uid=$_POST["u"];
require "DB.class.php";
$db = new DB();
$sql = "select count(*) from login where Username = '{$uid}'";
$arr=$db->query($sql);
if($arr[0][0])
{
echo "no";
}
else{
echo "ok";
}
用ajax可以實現在當前頁面輸出,用戶體驗好~~~~
這可是我盼望很久的功能啊~~~哈哈哈~
例子2、用ajax添加數據
用到的數據庫表:yuangong表

頁面效果:

再看數據庫:已添加進去了

tianjia.php代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../jquery-3.2.0.js"></script>
</head>
<body>
<h1>添加員工</h1>
用戶名:<input type="text" id="uid" />
密碼:<input type="text" id="pwd" />
姓名:<input type="text" id="name" />
<input type="button" id="add" value="添加" />
</body>
</html>
<script type="text/javascript">
$("#add").click(function(){
var uid = $("#uid").val();
var pwd = $("#pwd").val();
var name = $("#name").val();
$.ajax({
url:"tianjia-cl.php",
data:{u:uid,p:pwd,n:name},
type:"post",
dataType:"TEXT",
success:function(data){
if(data.trim()=="ok")
{
alert("添加成功!");
}
else
{
alert("添加失敗!");
}
}
});
})
</script>
tianjia-cl.php代碼:
<?php
$username=$_POST["u"];
$pwd=$_POST["p"];
$name = $_POST["n"];
require "DB.class.php";
$db = new DB();
$sql = "insert into yuangong values('{$username}','{$pwd}','{$name}')";
if($db->query($sql,0))
{
echo "ok";
}
else
{
echo "no";
}
?>
