js里的代碼:
<script>
var json;
//獲取所有class名為zhi的標簽
var zhi = document.getElementsByClassName('zhi'),temp3 = [];
for(var i=0;i<zhi.length;i++)
{
//把標簽里的內容放在temps集合里
temp3.push(zhi[i].innerHTML)
}
$.ajax({
cache: false,
async: false, //注意:這里設置為flase,即同步操作,因為我們不需要異步操作,只是傳參而已,當然,你也可以設置成異步。
contentType: "application/x-www-form-urlencoded; charset=utf-8", //這個要寫對,和你的頁面照應,你的頁面是gb2312就填gb2312,我這里是utf8,否則中文傳參會出錯。
url: "../member/wenzhangshenhe.php", //這里填上你的php操作頁面,即接受js參數的php頁面。
type: "POST", //這里和php照應,這里填POST,php中就要用$_POST[]接受!
traditional: true, //序列化數據
data:{"jsdata":temp3[i].toString()}, //傳過去的參數,我傳過去一個id,接受時php這樣寫:$data=$_POST["jsdata"]; 變量名稱當然可以更改。
error: function(){ //出錯處理,一般加上,但其實傳參沒什么出錯。
alert('請求超時');
},
success:function (data) //成功后的函數,注意,這里接受php返回的參數!!!!
{
//注意!!由於傳參時會進行base64加密,所以你穿過去的參數和返回的參數都會很長,如果我們不用json的話,參數就會丟失一部分,因為傳遞有長度限制!所以我們不得不涉及到一個麻煩的東西json數組!
var a=data;
var ss;
ss=eval("("+a+")"); //eval()可以執行字符串中的js代碼!
ffa(ss); //這是一個函數,用來得到傳回來的參數。
}
});
var ss=this.json; //得到ajax返回的參數
function ffa(ss) //得到當前ajax回執的data,保存在json里。
{
this.json=ss;
}
</script>
<?php
if ($_POST['jsdata']) //這里的名字要和js里寫的一樣。
{
selecta($link); //執行函數,這個函數是自定義的。。
}
function selecta($link)
{
/* 你的操作數據庫的命令。。。。。。。。。。。。。。
這里有一個很重要的東西,就是你返回的數據需要放到json數組里
json的寫法不在詳細介紹,樣例是一維數組寫法。 */
$a['data']=$rows['t_name']; //$rows['t_name']是數據庫的數據。這樣就有了一個json數組$a,它的鍵data中有值。
echo json_encode($a); //這句非常重要,這是php-->js的方式,如果不需要,就不用寫。
}
?>