1:get訪問 瀏覽器 認為 是等冪的
就是 乙個相同的url 只有乙個結果[相同是指 整個url字串完全匹配]
所以 第二次訪問的時候 如果 url字串沒變化 瀏覽器是 直接拿出了第一次訪問的結果
post則 認為是乙個 變動性 訪問 (瀏覽器 認為 post的提交 必定是 有改變的)
防止 get 的 等冪 訪問 就在url後面加上 ?+new date();,[總之就是使每次訪問的url字串不一樣的]
設計web頁面的時候 也應該遵守這個原則
2:一.談ajax的get和post的區別
get方式:
用get方式可傳送簡單資料,但大小一般限制在1kb下,資料追加到url中傳送(http的header傳送),也就是說,瀏覽器將各個表單字段元素及其資料按照url引數的格式附加在請求行中的資源路徑後面。另外最重要的一點是,它會被客戶端的瀏覽器快取起來,那麼,別人就可以從瀏覽器的歷史記錄中,讀取到此客戶的資料,比如帳號和密碼等。因此,在某些情況下,get方法會帶來嚴重的安全性問題。
post方式:
當使用post方式時,瀏覽器把各表單字段元素及其資料作為http訊息的實體內容傳送給web伺服器,而不是作為url位址的引數進行傳遞,使用post方式傳遞的資料量要比使用get方式傳送的資料量大的多。
總之,get方式傳送資料量小,處理效率高,安全性低,會被快取,而post反之。
使用get方式需要注意:
1 對於get請求(或凡涉及到url傳遞引數的),被傳遞的引數都要先經encodeuricomponent方法處理.例:var url = "update.php?username=" +encodeuricomponent(username) + "&content=" +encodeuricomponent
(content)+"&id=1" ;
使用post方式需注意:
abc&***=man&age=18以及var name=?abc&***=man&age=18的寫法都是錯誤的;
3.引數在send(引數)方法中傳送,例: xmlhttp.send(name); 如果是get方式,直接 xmlhttp.send(null);
4.伺服器端請求引數區分get與post。如果是get方式則$username = $_get["username"]; 如果是post方式,則$username = $_post["username"];
ajax亂碼問題
產生亂碼的原因:
1、xtmlhttp 返回的資料預設的字元編碼是utf-8,如果客戶端頁面是gb2312或者其它編碼資料就會產生亂碼
2、post方法提交資料預設的字元編碼是utf-8,如果伺服器端是gb2312或其他編碼資料就會產生亂碼
解決辦法有:
1、若客戶端是gb2312編碼,則在伺服器指定輸出流編碼
2、伺服器端和客戶端都使用utf-8編碼
gb2312:header('content-type:text/html;charset=gb2312');
utf8:header('content-type:text/html;charset=utf-8');
注意:如果你已經按上面的方法做了,還是返回亂碼的話,檢查你的方式是否為get,對於get請求(或凡涉及到url傳遞引數的),被傳遞的引數都要先經 encodeuricomponent方法處理.如果沒有用encodeuricomponent處理的話,也會產生亂碼.
Jquery AJAX POST與GET之間的區別
get 就是乙個相同的url只有乙個結果,瀏覽器直接就可以拿出來進行獲取,比如抓取介面get方式的內容,或者說直接獲取 原始碼,可以使用get進行抓取,所以說get主要是用來獲取 抓取。ajax的get和post的區別 get請求方式 也就是姚哥以前說的url傳值的方式進行請求,一般大小限制在1kb...
jquery ajax POST 例子詳解
function test 返回資料的格式 datatype html xml html script json jsonp text 在請求之前呼叫的函式 beforesend function 成功返回之後呼叫的函式 success function data 呼叫執行後呼叫的函式 comple...
jquery ajax post返回的中文值亂碼
亂碼原因 responsebody註解把返回值直接寫到http response body裡,spring註解的預設編碼是iso 8859 1,而我的工程編碼和頁面都是utf 8,所以亂碼。解決方案 在springmvc的配置檔案中加入如下 啟動spring mvc的註解功能,完成請求和註解pojo...