最近在作項目時遇到了一些須要從頁面用ajax提交數據到後臺的操做,無奈本人技術有限,網上苦尋,研究了一下ajax和thinkPHP的結合,黃天不負苦心人,終於搞定了。jquery
閒話少敘,進入正題:我須要從頁面中的一系列列表中,提交數據id到後臺,而後從後臺接收id數據,而後進行操做。ajax
$.ajax({ type:"GET", url:"__URL__/DelBatch", data:{id:ids}, dataType: "json", success:function(ss){ alert(ss); } });
參數解析:json
type:表示請求的方式,post或get,默認爲get。服務器
url:數據所要提交到的url地址。函數
data:表示所要提交的數據。JSON格式(鍵值對)。代碼中第一個id表示變量名,第二個ids表示具體的值,即第一個id變量所對應的值。post
dataType:預期服務器返回的數據類型。若不指定,jquery將自動根據http包MIME信息來智能判斷(w3c抄襲,具體不懂,大概是根據MIME的類型來返回值的類型)this
success:請求成功後後調用的回調函數。url
ajax請求數據還有不少參數,好比beforeSend、error等,你們若想詳細瞭解能夠上網去查。spa
有了這段代碼,用戶在執行點擊等操做時就能夠將數據以get的方式提交到後臺。code
後臺數據接收:
function DelBatch(){ if(IS_GET) { $id=$_GET["id"]; $this->ajaxReturn($id); } }
thinkPHP中具備對請求類型進行判斷的封裝,其中具備對幾種請求類型的判斷:
IS_POST:判斷是不是POST方式提交
IS_GET:判斷是不是GET方式提交
IS_AJAX:判斷是不是ajax方式提交
public function check(){ if(IS_GET){ //如果,執行響應操做 } else{ $this->error("非法請求!"); } }
在上述代碼中,首先進行了請求類型的判斷,若請求一致,則進行相應操做,不然,顯示當前請求爲非法請求。
插入一段,回到正題:
在後臺接收數據時,首先一樣進行了請求的判斷。而後經過$id=$_GET["id"]獲得頁面提交過來的數據,而後進行數據返回。
ThinkPHP對ajax有很好的支持,系統\Think\Controller類中提供了ajaxReturn方法用於對ajax調用後返回數據給客戶端,支持JSON,JSONP,XML和EVAL四種方式返回數據的類型。默認採用JSON格式返回數據。
開始作時,僅僅在方法中echo了一個數據出來,苦思半天,覺得在提交數據時沒有找到相應方法,其實否則,thinkPHP封裝了ajaxReturn方法,專門用於將數據返回供頁面使用。因此,在頁面的success的function中接收到數據,而後將數據alert顯示。
隨筆一篇,記錄一下,但願對你們有所幫助。