ThinkPHP 和 Ajax 之間的互動____PHP

來源:互聯網
上載者:User

ThinkPHP 和 Ajax 之間的互動


  最近正在學習PHP,在學習過程中遇到一些問題,其中的一個問題就是ThinkPHP 和 Ajax之間的資料交換。

ajax主要功能在於:通過在後台與伺服器進行少量資料交換,AJAX可以使網頁實現非同步更新。也就是在頁面無重新整理的情況下實現資料或者表單的提交。

1. AJAX的基本使用

使用GET方法:
 $.ajax({                        type:"GET",                        url:"__URL__/deleteUser",                        data:{id:ids},                        dataType: "json",                        success:function(ss){                            alert(ss);                        }                    });
 
使用POST方法:
// FormData() 是傳遞的資料
var form = new FormData();form.append("id",id);
 
$.ajax({                        type:"POST",                        url:"__URL__/deleteUser",                        data:form,                        processData: false,  // 不處理資料  contentType: false,                        success:function(ss){                        alert(ss);                           // window.history.go(-1);                        },                        error:function(){                        alert("錯誤");                        }                    });
 

參數解析:

  type:表示請求的方式,post或get,預設為get。

  url:資料所要提交到的url地址。

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

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

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

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

有了這段代碼,使用者在執行點擊等操作時就可以將資料以get的方式提交到後台。

function deleteUser(){                if(IS_GET)        {            $id=$_GET["id"];            $this->ajaxReturn($id);        }
 
//if(IS_POST)        //{          //  $id=$_POST["id"];           // $this->ajaxReturn($id);        //}
}

thinkPHP中具有對請求類型進行判斷的封裝,其中具有對幾種請求類型的判斷:

  IS_POST:判斷是否是POST方式提交

  IS_GET:判斷是否是GET方式提交

  IS_AJAX:判斷是否是ajax方式提交


在後台接收資料時,首先同樣進行了請求的判斷。然後通過$id=$_GET["id"]得到頁面提交過來的資料,然後進行資料返回。

ThinkPHP對ajax有很好的支援,系統\Think\Controller類中提供了ajaxReturn方法用於對ajax調用後返回資料給用戶端,支援JSON,JSONP,XML和EVAL四種方式返回資料的類型。預設採用JSON格式返回資料。



相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.