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.mzph.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