js用ajax和不同頁面的php互相傳值的方法





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的方式,如果不需要,就不用寫。
}
?>
 
        

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM