ThinkPHP中ajax提交數據


最近在做項目時遇到了一些需要從頁面用ajax提交數據到后台的操作,無奈本人技術有限,網上苦尋,研究了一下ajax和thinkPHP的結合,黃天不負苦心人,終於搞定了。

閑話少敘,進入正題:我需要從頁面中的一系列列表中,提交數據id到后台,然后從后台接收id數據,然后進行操作。

$.ajax({
                        type:"GET",
                        url:"__URL__/DelBatch",
                        data:{id:ids},
                        dataType: "json",
                        success:function(ss){
                            alert(ss);
                        }
                    });

 

參數解析:

  type:表示請求的方式,post或get,默認為get。

  url:數據所要提交到的url地址。

  data:表示所要提交的數據。JSON格式(鍵值對)。代碼中第一個id表示變量名,第二個ids表示具體的值,即第一個id變量所對應的值。

  dataType:預期服務器返回的數據類型。若不指定,jquery將自動根據http包MIME信息來智能判斷(w3c抄襲,具體不懂,大概是根據MIME的類型來返回值的類型)

  success:請求成功后后調用的回調函數。

ajax請求數據還有很多參數,比如beforeSend、error等,大家若想詳細了解可以上網去查。

有了這段代碼,用戶在執行點擊等操作時就可以將數據以get的方式提交到后台。

 

后台數據接收:

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顯示。

隨筆一篇,記錄一下,希望對大家有所幫助。

 


免責聲明!

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



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