最开始学习html的时候,菜单的点击都是直接跳转走的,但是接触了某些框架,或是看到写的很漂亮的网页时,发现它们可以只改变局部的内容,ajax是可以实现的,从后台获取数据,传到前台,然后前台处理。但是如果局部刷新很大片地方,后台或前台不是要写很多代码?
以前写代码的时候,发现如果是ajax请求的话,后台的转发和重定向是不会跳转的。但是也没有过多的关注。今天看了一下ajax的返回值,才发现远程加载页面是这样实现的。
前台处理的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title><script src="jquery-1.12.4.min.js" type="text/javascript" charset="utf-8"></script></head><body><div id="main" style="height:600px;width:100%;"></div></body><script>$(function(){$.ajax({ url : 'getPage', success : function(data){console.log(data);$("#main").html(data);}});});</script></html>
加载的页面如下:
<div>这是一个新网页</div><p style="color:red;">测试文本</p><p style="color:blur;">测试文本</p><p style="color:green;">测试文本</p><ul><li style="color:red;">123</li><li style="color:red;">321</li></ul>
后台只要把请求转发到要加载的页面就可以了;
前台得到的值是: