`

[转载]Ajax学习笔记_open方法中的POST、GET参数的区别(

 
阅读更多

1. get是从服务器上获取数据(会暴露客户端ip),post是向服务器传送数据。
    2.
get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到。post是通过HTTP post机制,将表单内各个字段与其内容放置在HTML HEADER内一起传送到ACTION属性所指的URL地址。用户看不到这个过程。
    3. 对于
get方式,服务器端用Request.QueryString获取变量的值,对于post方式,服务器端用Request.Form获取提交的数据。
    4.
get传送的数据量较小,不能大于2KB。post传送的数据量较大,一般被默认为不受限制。但理论上,IIS4中最大量为80KB,IIS5中为100KB。
    5.
get安全性非常低,post安全性较高。但是执行效率却比Post方法好。

    建议:
    1、
get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;
    2、在做数据查询时,建议用
Get方式;而在做数据添加、修改或删除时,建议用Post方式;

 

    1 问题描述:
    xmlhttp:open方法,请求页面的时候,更新页面数据后,第2次拿到的结果还是上次的信息
    2 解决办法:
    改用POST方式
    3 说明:
    xmlhttp:open方法
    创建一个新的http请求,并指定此请求的方法、URL以及验证信息
    语法
    oXMLHttpRequest.open(bstrMethod, bstrUrl, varAsync, bstrUser, bstrPassword);
    参数
    bstrMethod
    http方法,例如:POSTGET、PUT及PROPFIND。大小写不敏感。
/ *****
POST:用"POST"方式发送数据,可以大到4MB
GET:用"GET"方式发送数据,只能256KB
如果请求带有参数的化实用POST方式,POST方式将参数放置在页面的隐藏控件内
没有参数使用GET方式
对于请求的页面在中途可能发生更改的,也最好用POST方式
GET方式可能会拿不到最新的信息
*****/

    bstrUrl
    请求的URL地址,可以为绝对地址也可以为相对地址。
    varAsync[可选]
布尔型,指定此请求是否为异步方式,默认为true。如果为真,当状态改变时会调用onreadystatechange属性指定的回调函数。
    bstrUser[可选]
    如果服务器需要验证,此处指定用户名,如果未指定,当服务器需要验证时,会弹出验证窗口。
    bstrPassword[可选]
    验证信息中的密码部分,如果用户名为空,则此值将被忽略。

Example
下面的例子演示从服务器请求book.xml,并显示其中的book字段。
var xmlhttp = new ActiveXObject("Msxml2.XMLHTTP.3.0");
xmlhttp.open("GET","http://localhost/books.xml", false); 没有参数且不会发生改变的用GET,否则用POST
xmlhttp.send();
var book = xmlhttp.responseXML.selectSingleNode("//book[@id=''''bk101'''']");
alert(book.xml);
备注
调用此方法后,可以调用send方法向服务器发送数据。

调用页面
<script language="javascript" type="text/javascript">
function UpdateData()
{
var ServerUrl = window.location.href;
var str = ServerUrl.split("/");
var ServerUrl = "http://"+str[2];
var xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
var serverURL=ServerUrl+"/GetTemp.aspx";
xmlhttp.Open("POST",serverURL, false);
xmlhttp.Send("adst");
xmlhttp = null;
}
</script>
处理页面,得到传入的数据
private string GetInput()
{
System.IO.Stream s = Request.InputStream;
int count = 0;
byte[] buffer = new byte[1024];
StringBuilder builder = new StringBuilder();
while ((count = s.Read(buffer, 0, 1024)) > 0)
{
builder.Append(Encoding.UTF8.GetString(buffer, 0, count));
}

return builder.ToString();
}

    一般情况下,使用Ajax提交的参数多是些简单的字符串,可以直接使用GET方法将要提交的参数写到open方法的url参数中,此时send方法的参数为null。

    此外,也可以使用send方法传递参数。使用send方法传递参数使用的是POST方法,需要设定Content-Type头信息,模拟HTTP POST方法发送一个表单,这样服务器才会知道如何处理上传的内容。参数的提交格式和GET方法中url的写法一样。设置头信息前必须先调用open方法。
例如:
  xmlHttp.open("POST","login.jsp",true);
  xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded;charset=UTF-8");
  xmlHttp.send("user="+username+"&pwd="+password);
  需要注意的是根据提交方式的不同,两种提交方式分别调用后台的doGet方法和doPost方法。

分享到:
评论

相关推荐

    Ajax学习笔记个人总结

    ### Ajax学习笔记个人总结 #### 一、XMLHttpRequest对象简介 **XMLHttpRequest** 对象是 AJAX 技术的核心,它负责在客户端与服务器之间发送异步请求,无需刷新整个页面即可实现局部数据更新。要使用 ...

    ajax学习笔记

    ### AJAX学习笔记 #### 一、引言 Ajax(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据交换,Ajax 可以使网页实现异步更新。...

    Ajax 学习笔记,超详细的噢!不看后悔

    在这份超详细的Ajax学习笔记中,我们将深入探讨以下几个关键知识点: 1. **基础概念**:Ajax的核心是JavaScript对象XMLHttpRequest,它使得前端和后端能够进行异步通信。异步意味着用户在等待服务器响应时可以执行...

    ajax学习笔记代码

    **Ajax学习笔记代码详解** Ajax,全称Asynchronous JavaScript and XML,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。这种技术的...

    AJAX学习笔记1

    **标题:“AJAX学习笔记1”** 在Web开发中,AJAX(Asynchronous JavaScript and XML)是一种创建动态网页的技术,允许在不重新加载整个页面的情况下,与服务器交换数据并更新部分网页内容。AJAX的核心是利用...

    16ajax学习笔记1

    在本篇16ajax学习笔记1中,我们将探讨Ajax的基础概念、使用方法以及jQuery库中的Ajax实现。 1、发送请求: Ajax的首要任务是创建XMLHttpRequest对象,这是浏览器提供的API。在JavaScript中,我们可以通过new ...

    经典ajax学习笔记

    以下是一份详细的Ajax学习笔记,涵盖了其基本概念、工作原理、优势与限制,以及实际应用。 ### 一、基本概念 Ajax的核心是JavaScript对象XMLHttpRequest(XHR),它允许浏览器在后台与服务器进行通信,而不会打断...

    Ajax学习笔记.zip

    通过调用其open()方法设置请求类型(GET或POST)、URL和是否异步,然后使用send()方法发送请求。当服务器响应时,XMLHttpRequest对象的onreadystatechange事件会被触发,通过readyState属性和status属性可以判断请求...

    ajax学习笔记资料

    2. **打开连接**:调用XMLHttpRequest对象的open()方法,指定请求类型(GET或POST)、URL和是否异步。 3. **设置请求头**:根据需求设置HTTP请求头,例如Content-Type用于定义数据类型。 4. **发送请求**:调用...

    ajax的学习笔记

    2. **初始化请求**:调用`open()`方法,设置请求类型(GET/POST)、URL和是否异步。 3. **设置请求头**:使用`setRequestHeader()`方法,比如设置Content-Type为'application/json'。 4. **发送请求**:调用`send...

    Ajax学习笔记

    ### Ajax学习笔记精要 #### 一、Ajax概述 ##### 1.1 什么是Ajax? Ajax,全称为Asynchronous JavaScript and XML(异步的JavaScript和XML),是一种用于改善网页应用性能的技术。它允许网页在无需重新加载整个...

    AJAX学习笔记.docx

    - `open()`方法用于设置请求类型(GET或POST)、请求的URL、异步标志(默认为异步)以及可选的认证信息。 - `send()`方法用于发送请求,对于GET请求只需`send()`,而对于POST请求则需传入数据`send(string)`。 - `...

    Ajax的学习笔记

    本压缩包中的"AJAX学习笔记.doc"文档,可能包含了Ajax的基础概念、使用示例及进阶技巧,适合初学者参考学习。同时,推荐以下在线资源: - [MDN Web文档](https://developer.mozilla.org/zh-CN/docs/AJAX):详尽的...

    Ajax学习笔记---3种Ajax的实现方法【推荐】

    xhr.open('GET'或'POST', 'url'); xhr.send(null 或 数据); ``` #### 2. 使用库和框架 现代Web开发中,jQuery、AngularJS、Vue.js等库和框架提供了更简洁的Ajax调用API,简化了异步请求的编写。 #### 3. ...

    ajax-day01.rar_达内开发学习笔记

    在“ajax-day01.rar_达内开发学习笔记”这个压缩包中,包含了第一天学习Ajax的基础内容,旨在帮助初学者理解并掌握Ajax的核心概念和使用方法。** **一、Ajax简介** Ajax并不是一种单一的技术,而是一组技术的组合,...

    Ajax学习笔记,希望大家喜欢

    接受三个参数,分别是HTTP请求的方法(如GET、POST)、URL和一个布尔值表示是否异步执行。例如:`xhr.open('GET', 'test.html', true);` 2. **send()**:发送请求。对于GET请求,通常不传参数;对于POST请求,可以...

    AJAX应用笔记(1)

    - **打开连接**:使用XMLHttpRequest对象的`open()`方法,指定请求类型(GET或POST)、URL和是否异步。 - **发送请求**:调用`send()`方法,可以传递数据到服务器。 - **接收响应**:监听`onreadystatechange`...

    ajax 学习笔记

    ### AJAX学习笔记 #### 一、AJAX简介 AJAX(Asynchronous JavaScript and XML),即“异步JavaScript和XML”,是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。通过在后台与服务器进行少量数据...

    Ajax 学习笔记

    本学习笔记旨在深入理解和掌握Ajax的核心概念、工作原理以及实际应用。** **一、Ajax基本概念** Ajax并非一种单一的技术,而是一系列技术的组合,主要包括HTML、CSS、JavaScript、XML以及DOM(Document Object ...

Global site tag (gtag.js) - Google Analytics