Get請求

寫在前面的話

XMLHttpRequest對象的open方法的第一個參數為request-type,取值可以為get或post.本篇介紹get請求.

get請求的目的,主要是為了獲取數據.雖然get請求可以傳遞數據,但傳遞數據的目的是為了告訴服務器,給我們什么內容.

使用get請求時,參數都是隨url進行傳遞的.

使用get請求時,容易被緩存,需注意緩存問題.

使用get請求時,服務器端請使用Request.QueryString[data]來獲取數據.

發現的問題

我們在《完整的Ajax實例》一文中使用的就是get請求,當時遇到以下問題:

  1. 如何創建在大部分瀏覽器中都能運行的XMLHttpRequest對象.
  2. 使用get請求時存在緩存問題
  3. 中文亂碼問題

其中,第一個問題,在《XMLHttpRequest對象》一文中已經解決;

對于第二個問題,產生的原因是:

get請求會每次訪問緩存,看其中是否有匹配的url,如果有,則返回緩存中的url,如果沒有,則向服務器發出請求.

解決方案:

1.在url上加個動態的變化參數,以求每次訪問的是不同的url,這樣每次都會向服務器發出新的請求.

對于第三個問題,我們首先來看下產生亂碼的原因:

xmlHttp返回的數據默認是uft-8,如果客戶端頁面是gb2312或其他編碼,就會產生亂碼

解決方案:

1.若客戶端是gb2312,則在輸出時,指定輸出流編碼

2.客戶端和服務器端都使用utf-8編碼

3.務必使用encodeURIComponent方法對參數進行編碼

注意看例子:

例子

頁面HTML文件沒有變化,變化的知識js代碼,代碼如下:

<script type="text/javascript">function btn_click() {//創建XMLHttpRequest對象var xmlHttp = window.XMLHttpRequest ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");//獲取值var username = document.getElementById("txt_username").value;var age = document.getElementById("txt_age").value;//配置XMLHttpRequest對象//使用encodeURIComponent方法,對獲取的參數進行編碼//添加參數,以求每次訪問不同的url,以避免緩存問題xmlHttp.open("get", "Get.aspx?username=" + encodeURIComponent(username)+ "&age=" + encodeURIComponent(age) + "&random=" + Math.random());//設置回調函數xmlHttp.onreadystatechange = function () {if (xmlHttp.readyState == 4 && xmlHttp.status == 200) {document.getElementById("result").innerHTML = xmlHttp.responseText;}}//發送請求,因為參數都在URL里,所以此處發送nullxmlHttp.send(null);}
</script>

服務器端:

protected void Page_Load(object sender, EventArgs e)
{Response.Clear();string username = Request.QueryString["username"];string age = Request.QueryString["age"];Response.Write("姓名:'" + username + "'<br/>年齡:" + age + "<br/>時間:'" + DateTime.Now.ToString() + "'");Response.End();
}

運行程序,我們發現已經使用漢字也不會出現亂碼了,現在我們使用工具來看一下我們此次訪問產生了哪些頭信息:

image

我們同時也看一下獲取了哪些信息?

image

我們再來看緩存中的信息:

image

Query String信息

image

服務器傳輸過來的內容:

image

注意:

1.要注意避免緩存的問題,而使用動態url參數是個不錯的選擇.

2.使用open發出get請求時,服務器端是采用Request.QueryString的方式獲取參數的.

3.對于中文亂碼問題,我們會再寫一篇文章來介紹這個問題.

轉載于:https://www.cnblogs.com/loveYN/p/4509635.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/257289.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/257289.shtml
英文地址,請注明出處:http://en.pswp.cn/news/257289.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

css3中的BFC,IFC,GFC和FFC(轉載)

作者原文網址&#xff1a;http://www.cnblogs.com/dingyufenglian/p/4845477.html What‘s FC&#xff1f; 一定不是KFC&#xff0c;FC的全稱是&#xff1a;Formatting Contexts&#xff0c;是W3C CSS2.1規范中的一個概念。它是頁面中的一塊渲染區域&#xff0c;并且有一套渲染…

javaweb學習總結——Filter高級開發

在filter中可以得到代表用戶請求和響應的request、response對象&#xff0c;因此在編程中可以使用Decorator(裝飾器)模式對request、response對象進行包裝&#xff0c;再把包裝對象傳給目標資源&#xff0c;從而實現一些特殊需求。 一、Decorator設計模式 1.1、Decorator設計模…

html期末網頁設計,求網頁設計的期末作業一份 HTML的

1&#xff0e; 課程設計建議主題方向&#xff1a;電子商務類網站、門戶類網站、專題類網站。整體要求&#xff1a;主題鮮明、健康&#xff1b;風格自然、內容充實、完整&#xff1b;布局合理&#xff0c;配色和諧。(5分)2&#xff0e; 網站至少包括15張頁面(包括首頁)&#x…

Android(java)學習筆記10:同步中的死鎖問題以及線程通信問題

1. 同步弊端&#xff1a; &#xff08;1&#xff09;效率低 &#xff08;2&#xff09;如果出現了同步嵌套&#xff0c;就容易產生死鎖問題 死鎖問題及其代碼 &#xff1a; &#xff08;1&#xff09;是指兩個或者兩個以上的線程在執行的過程中&#xff0c;因爭奪資源產生的一種…

4源代碼的下載和編譯

1、Android移植主要就是Linux內核移植&#xff0c;而Linux內核移植主要是Linux驅動移植&#xff0c;為了開發和測試Linux驅動&#xff0c;要在Ubuntu下搭建兩套開發環境&#xff1a;Android應用程序開發環境和Linux內核開發環境&#xff1b; 2、Android源代碼包括&#xff1a;內…

在html中三個圖片切換,輕松搞定網頁中的圖片切換

生活中經常看到&#xff0c;像新浪等很多門戶網站的首頁都有滾動圖片的展示&#xff0c;如下圖所示&#xff1a;某網站首頁滾動切換圖片這樣不但可以減少文字的單一、乏味&#xff0c;而且可以直觀內容&#xff0c;更好的吸引用戶。那在我們做軟件系統時&#xff0c;是否也可以…

python 進程編程速成

python具有thread多線程庫&#xff0c;但多線程并不是真正的多線程&#xff0c;不能充分利用多核CPU資源。 在大多數情況下&#xff0c;python可以使用multiprocessing多進程庫&#xff0c;可以輕松完成從單進程到并發執行的轉換。 multiprocessing庫支持子進程、通信和共享數據…

requirejs(shim)處理加載非AMD規范的js庫

使用requirejs加載模塊&#xff0c;模塊的定義得遵守AMD規范&#xff0c;也即定義模塊的時候使用如下函數定義模塊: 1 define(function(){ 2 var private function(){ 3 console.log(私有方法...); 4 }; 5 return { 6 public:funct…

關于常用meta的總結

入行也半年了&#xff0c;無數次的想過寫博客也無數次的想過第一篇會寫什么&#xff0c;一直沒有落實。今天心血來潮把博客開了&#xff0c;那就寫點東西吧。第一篇就寫一寫看似簡單但又經常不注意到的meta標簽吧。&#xff08;博主經驗尚淺&#xff0c;有許多理解不到位的地方…

計算機應用基礎18春在線作業1答案,東師計算機應用基礎-18春在線作業1.docx

東師計算機應用基礎18春在線作業11、A 2、C 3、C 4、C 5、B一、單選題共25題&#xff0c;62.5分1、國際區位、全拼雙音、五筆字型和自然碼是不同種類的漢字A外碼B內碼C字型碼D交換碼正確答案是&#xff1a;A2、漢字字形碼的使用是在____A輸入時B內部傳送時C輸出時D兩臺計算機之…

jQuery Validate 驗證,校驗規則寫在控件中的具體例子

將校驗規則寫到控件中 <script src"../js/jquery.js" type"text/javascript"></script> <script src"../js/jquery.validate.js" type"text/javascript"></script> <script src"./js/jquery.metadata…

在oracle中使用Trigger

1、初始目標 在對表h1插入一條數據時&#xff0c;同時插入一條重復的數據&#xff08;只有主鍵不同&#xff09; 2、在PL/SQL里New一個Trigger或者手動敲入代碼 先說明一下&#xff0c;表h1包括4列ID、C1、C2、C3 create or replace trigger Trigger_Testafter insert on h1for…

html突出顯示,javascript-記住html頁面中突出顯示的文本(向html頁面添加注釋)

我有一個HTML文件,我正在用webkit打開它,我想開發一個應用程序,這樣,在打開它之后,我應該能夠選擇一些文本并將其突出顯示(例如,按下“ highlight text”按鈕).并且它應該記住突出顯示的文本,以便下次打開時應自動突出顯示相同的文本…要存儲哪些信息,以便下次可以突出顯示相同…

cygwin

根據cygwin user guide翻譯整理&#xff0c;希望對大家有所幫助。有錯誤清指出。 1 引言 cygwin是一個在windows平臺上運行的unix模擬環境&#xff0c;是cygnus solutions公司開發的自由軟件&#xff08;該公司開發了很多好東西&#xff0c;著名的還有eCos&#xff0c;不…

JAVA wait(), notify(),sleep具體解釋

在CSDN開了博客后&#xff0c;一直也沒在上面公布過文章&#xff0c;直到前一段時間與一位前輩的對話&#xff0c;才發現技術博客的重要&#xff0c;立志要把CSDN的博客建好。但一直沒有找到好的開篇的主題&#xff0c;今天再看JAVA線程相互排斥、同步的時候又有了新的體會&…

通過鍵盤上下鍵 JS事件,控制候選詞的選擇項

效果圖 JS代碼 //上下鍵 選擇事件 searchBackgroud 為樣式&#xff0c;只做標記&#xff0c;無實質樣式&#xff0c;因為和其他樣式不兼容&#xff0c;只能添加CSS$(document).keydown(function (event) {var upDownClickNum $("#SearchTips .searchBackgroud ").l…

物理競賽得獎學計算機,物理競賽林紫琪帶你探索清華學堂計算機科學實驗班”(姚班)...

林紫琪&#xff0c;34屆全國中學生物理競賽全國第22名&#xff0c;獲得女生最高分&#xff0c;入選國家集訓隊&#xff0c;現就讀于清華姚班。這是一條小科普&#xff1a;“清華學堂計算機科學實驗班”(姚班)由世界著名計算機科學家姚期智院士于2005年創辦&#xff0c;致力于培…

Jmeter===Jmeter中使用CSV Data Set Config參數化不重復數據執行N遍(轉)

Jmeter中使用CSV Data Set Config參數化不重復數據執行N遍 要求&#xff1a; 今天要測試上千條數據&#xff0c;且每條數據要求執行多次&#xff0c;&#xff08;模擬多用戶多次抽獎&#xff09; 1.用戶id有175個&#xff0c;且沒有任何排序規則&#xff1b; 2.要求175個用戶都…

[轉]wireshark 實用過濾表達式(針對ip、協議、端口、長度和內容) 實例介紹

首先說幾個最常用的關鍵字&#xff0c;“eq” 和 “”等同&#xff0c;可以使用 “and” 表示并且&#xff0c;“or”表示或者。“!" 和 "not” 都表示取反。 一、針對wireshark最常用的自然是針對IP地址的過濾。其中有幾種情況&#xff1a; &#xff08;1&#xff0…

[Flexbox] Using order to rearrange flexbox children

Using the order property we alter the order in which flexbox children appear on the page, without making changes to the dom. Desktop Mobile 轉載于:https://www.cnblogs.com/Answer1215/p/5453671.html