成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺析get和post在HTTP編程中的使用方式

開發(fā) 前端
我們這里將要介紹的是get和post在HTTP編程中的使用方式,希望本文能對大家有所幫助。

本文將要介紹如何在HTTP編程中,get和post兩個關(guān)鍵字的混合用法,希望通過本文,能對關(guān)鍵字的最大長度以及功能有所了解。

問題來源于get和post的特點和限制。對于get請求,我們可以很方便的使用window.opener的方式與父頁面進(jìn)行通訊,但是根據(jù)http協(xié)議的規(guī)定,url最大長度是2083個字節(jié),可以用于GET傳遞數(shù)據(jù)的長度是2048個字節(jié)。對于post請求,雖然沒有最大長度的限制,卻不能方便的使用window.opener與父頁面進(jìn)行通訊。

關(guān)于如何使用javascript自動將一段get請求轉(zhuǎn)變成一個post請求,網(wǎng)上有很多的方法,其主要思想就是動態(tài)構(gòu)造一個iframe,并將get請求中的url參數(shù)值賦給input控件,最后設(shè)置form的action地址并調(diào)用submit方法。

園子里有人已經(jīng)給出一個解決方法,http://www.cnblogs.com/ppchen/archive/2008/03/18/1109607.html
這里轉(zhuǎn)載如下:

  1. Code  
  2. var PostNewWin = function(url){  
  3. var urlurlArr = url.split("?");  
  4. var postUrl = urlArr[0];  
  5. var postData = urlArr[1];  
  6. var iframe = document.getElementById("postData_iframe");  
  7. if(!iframe){  
  8. iframe = document.createElement("iframe");  
  9. iframe.id = "postData_iframe";  
  10. iframe.scr"about:blank";  
  11. iframe.frameborder = "0";  
  12. iframe.style.width = "0px";  
  13. iframe.style.height = "0px";  
  14.  
  15. var form = document.createElement("form");  
  16. form.id = "postData_form";  
  17. form.method = "post";  
  18. form.target = "_blank";  
  19.  
  20. document.body.appendChild(iframe);  
  21. iframe.contentWindow.document.write("<body>" + form.outerHTML + "</body>");  
  22. }  
  23. iframe.contentWindow.document.getElementById("postData_form").innerHTML = "<input name='postData' id='postData' type='text' value='" + postData + "'/>";  
  24. iframe.contentWindow.document.getElementById("postData_form").action = postUrl;  
  25. iframe.contentWindow.document.getElementById("postData_form").submit();  
  26. }; 

例如原來有一個函數(shù),使用get請求打開新頁面

  1. function openNewWindow()  
  2. {  
  3. var url = http://www.website.com/page1.aspx?p1=v1&p2=v2;  
  4. var win =window.open(url);   

因為ur的長度問題,現(xiàn)在改為使用post方式提交,如下所示:

  1. function openNewWindow()  
  2. {  
  3. var url = http://www.website.com/page1.aspx?p1=v1&p2=v2;  
  4. //var win =window.open(url);   
  5. PostNewWin(url);  

這里有一個問題就是,使用這種方式后,就無法使用window.opener與父頁面進(jìn)行交互了,因為通過這個函數(shù),已經(jīng)將get請求變成一個post請求了。為了可以使用post的方式提較大數(shù)據(jù),同時也可以使用window.open(url)方式的window.opener與父頁面通訊,在這里做一點小的改版,首先使用window.open(url)時候,增加一個參數(shù),指定打開窗口的名稱,,如下所示:

  1. function openNewWindow()  
  2. {  
  3. var url = http://www.website.com/page1.aspx?p1=v1&p2=v2;  
  4. var winName  = "";  
  5. var win =window.open("about:blank",winName );   
  6. PostNewWin(url,winName);  
  7. }  
  8. 同時修改PostNewWin函數(shù),將這個新窗口的句柄傳遞給這個函數(shù),將post請求的target設(shè)置為這個參數(shù),如下所示:  
  9. var PostNewWin = function(url,winName){  
  10. .........  
  11. form.target = winName;   
  12. .......  
  13. }; 

這樣就可以同時使用post和get兩種方式的優(yōu)點了。

原文標(biāo)題:http編程中的get和post混合使用方式

鏈接:http://www.cnblogs.com/chegan/archive/2009/09/28/1575536.html

【編輯推薦】

  1. 學(xué)習(xí)C#實現(xiàn)HTTP協(xié)議:多線程文件傳輸
  2. 用來訪問HTTP服務(wù)器的仿java.net功能類
  3. Python HTTP服務(wù)快速搭建
  4. 有關(guān)客戶端瀏覽器緩存的HTTP頭介紹
  5. JBoss Netty 3.1發(fā)布 新增HTTP隧道功能
責(zé)任編輯:彭凡 來源: 博客園
相關(guān)推薦

2014-07-24 10:00:21

2015-01-05 10:07:24

HTTPGETPOST

2011-08-02 13:35:41

iOS開發(fā) Get Post

2011-06-08 11:02:14

GetPost

2009-07-29 16:53:52

ASP.NET Get

2016-09-23 15:10:10

HTTPGETPOST

2019-05-15 16:15:08

HTTPGETPOST

2019-08-08 16:00:08

HTTPGETPOST

2011-06-08 11:05:38

getpost

2009-06-16 15:20:48

ApplicationJSP程序

2023-08-07 09:25:06

GETPOSTHTTP請求

2017-05-24 09:43:42

2009-08-03 13:12:34

ASP.NET編程模型

2010-03-03 17:44:07

Python多線程

2009-09-10 16:38:43

C# get set用

2009-07-02 10:51:21

腳本編程JSP開發(fā)

2011-08-29 17:27:47

HTML 5交互移動應(yīng)用

2021-03-06 14:22:39

池化對象類庫

2009-08-03 11:21:47

ASP.NET編程模型

2023-06-28 11:36:41

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 免费在线观看黄网站 | 一区二区三区观看视频 | 欧美网站一区二区 | 99精品视频免费观看 | 亚洲国产精品一区二区三区 | 狠狠狠色丁香婷婷综合久久五月 | 欧美福利视频 | 在线观看成人 | 久久青草av | 国产精品一区二区久久精品爱微奶 | 亚洲日本视频 | 成年网站在线观看 | 一区在线视频 | 伊人春色在线观看 | 久久人人爽人人爽 | 国产精品视频网 | 在线欧美小视频 | 国精品一区二区 | 国产清纯白嫩初高生视频在线观看 | 国产黄a一级 | 国产女人与拘做视频免费 | 国产精品1区 | 香蕉久久久 | 欧美国产精品 | 超碰高清| 懂色中文一区二区三区在线视频 | 九九精品久久久 | 天天色影视综合 | 日韩av中文| 日本二区在线观看 | 久久精品国产一区 | 欧美日韩一区在线观看 | 中文字幕亚洲区 | 香蕉国产在线视频 | 日韩在线免费播放 | 亚洲第一在线视频 | 91观看 | 国产免费一区 | 一区二区三区四区av | 亚洲精品久久嫩草网站秘色 | 韩日av片|