星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
php與js的互動問題一直是一個非常重要的問題,在很多時候都會用到,而且,使用這種技術還可以帶來更好的使用者體驗。
小編今天就來講一下如何進行php與js互動。
小編的互動方法是jQuery的$.ajax()。
所謂ajax,就是Asynchronous Javascript And XML,也就是我們常說的js與XML非同步技術。
通過在後台與伺服器進行少量資料交換,ajax 可以使網頁實現非同步更新。
這意味著可以在不重新載入整個網頁的情況下,對網頁的某部分進行更新。
這樣可以給使用者更好的體驗,如果你的網頁比較大的情況下,可以先載入一部分,再載入剩下的,這樣等到使用者點選下面的東西時,已經載入好了,這樣可以大大提高你的頁面開啟速度!
比如,百度圖片的顯示就是用了ajax。先載入一部分圖片,使用者往下拖網頁時,底下的圖片已經載入好了!
當然,$.ajax()方法的引數非常多,如果想要了解更深一些,自行百度。小編在這裡只講一些js與php傳參用到的引數。附幾張引數介紹圖。
這個不重要,我們來看一下傳參時用的引數。
如圖
這就是所有用到的引數了。
js的程式碼如下:
--------------------------------------------------------------------------------
var json; //這個變數是為了得到ajax返回的引數,如果你不需要php返回引數,那就不需要這些東西。
$.ajax({
cache: false,
async: false, //注意:這裡設定為flase,即同步操作,因為我們不需要非同步操作,只是傳參而已,當然,你也可以設定成非同步。
contentType: "application/x-www-form-urlencoded; charset=utf-8",
//這個要寫對,和你的頁面照應,你的頁面是gb2312就填gb2312,我這裡是utf8,否則中文傳參會出錯。
url: "../include/Mysql.php", //這裡填上你的php操作頁面,即接受js引數的php頁面。
type: "POST", //這裡和php照應,這裡填POST,php中就要用$_POST[]接受!
traditional: true, //序列化資料
data:{"jsdata":id}, //傳過去的引數,我傳過去一個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;}
--------------------------------------------------------------------------------
php頁面的程式碼如下
--------------------------------------------------------------------------------
<?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的方式,如果不需要,就不用寫。
}
?>
--------------------------------------------------------------------------------
相關文章
星海爭霸21全功能兌換碼新手獎勵1、7小時遊戲時間(14天內)解除所有試玩版本限制直到7小時耗盡,如種族、匹配模式、戰役、地圖等詳細資訊(150119更新)4505624695013984483730049
2020-11-30 03:45:43
我們經常會玩決勝時刻戰區遊戲,但是有很多朋友不知道決勝時刻戰區國際服註冊方法,下面就詳細說下決勝時刻戰區國際服註冊方法。1首先我們開啟自己電腦中的瀏覽器,比如360瀏覽器
2020-11-29 16:08:59
決勝時刻黑色行動4的應用獲取的方法。1準備好網路的網速,開啟瀏覽器的頁面。 2決勝時刻黑色行動4將其輸入到搜尋頁中,點選搜尋。 3選擇圖中展示的決勝時刻黑色行動4中文版網頁
2020-11-29 16:06:30
決勝時刻是一個很好玩的遊戲,但是安裝過程比較困難,下面小編和你分享一下經驗! 1一般有很多個壓縮檔案的那種,任意解壓一個壓縮包之後會生成一個映象用虛擬光碟機載入,之後按用光
2020-11-29 10:07:32
小編教你決勝時刻9BO2.怎麼安裝,希望你的生活多姿多彩~ 1首先,你買的基本可以確定,是盜版,或者說所謂的偽正版——同學,多去steam吧或者戰地3吧看一看,會提高你對盜版/偽正版的鑑
2020-11-29 05:49:58
目前很多決勝時刻的玩家都在找版本10的中文版,其實現在正版的當中還沒有中文,退而求其次吧,小編這裡分享一些貼圖大家參考一下 1基礎選單,直接看圖片吧 2基礎選單,直接看圖片吧 3
2020-11-29 05:29:49