ThinkPHP中ajax提交數據

最近在作項目時遇到了一些須要從頁面用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顯示。

隨筆一篇,記錄一下,但願對你們有所幫助。

相關文章
相關標籤/搜索