欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

程序员文章站 2022-03-12 20:24:32
HTML5第7次课堂笔记 1.图片验证码的应用:(1)服务端Content-type的控制;(2)客户端防止缓存(仅对GET) 服务器端使用的是jsp 点击图片,...
HTML5第7次课堂笔记

1.图片验证码的应用:(1)服务端Content-type的控制;(2)客户端防止缓存(仅对GET)

服务器端使用的是jsp

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

点击图片,实现刷新验证码

有时拿不到服务器的数据 没有请求出去 浏览器的问题,请求缓存起来

对同一个地址不断请求,会缓存起来,一定是get请求

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

可以看到每次请求地址都不一样,这样就避免了缓存

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

总结:通过fiddler查看http的请求和响应可以看出很多有用的信息,对排查错误,查看数据很有帮助

2.xmlhttprequest对象的使用

步骤:

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

方式一:get方式,不传递数据

<script>

//创建ajax对象

varxml=new XMLHttpRequest();

//创建请求

xml.open("GET","index.jsp",true);

xml.onreadystatechange=function()

{

if(xml.readyState==4)//响应回来,并不代表一定成功

{

if(xml.status==200)//请求成功

{

alert(xml.responseText);//返回响应正文

}

}

}

xml.send(null);

</script>

结果:返回index.jsp的内容

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

方式二:get方式,通过url传递数据

<script>

var xml=new XMLHttpRequest();

//创建请求

xml.open("GET","DataTest1?sdsdsd=1111",true);

xml.onreadystatechange=function()

{

if(xml.readyState==4)//响应回来,并不代表一定成功

{

if(xml.status==200)//请求成功

{

alert(xml.responseText);//返回响应正文

}

}

}

xml.send(null);

</script>

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

从fiddler抓包中可以看出发送的数据

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

方式三:post方式,通过send()传递数据

<script>

var xml=new XMLHttpRequest();

//创建请求

xml.open("POST","DataTest1",true);

xml.onreadystatechange=function()

{

if(xml.readyState==4)//响应回来,并不代表一定成功

{

if(xml.status==200)//请求成功

{

alert(xml.responseText);//返回响应正文

}

}

}

xml.send("sdsdsd=1111");

</script>

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

HTML5第7次课堂笔记(图片验证码的应用,xmlhttprequest对象的使用,跨域)

3.补充:跨域问题

跨域:就是前面的域名不一样 端口号不一样也算

JavaScript严禁是跨域

跨域之间不同传送,接受数据