
语法:location.reload([bForceGet])
参数: bForceGet, 可选参数, 默认为 false,从客户端缓存里取当前页。true, 则以 GET 方式,从服务端取最新的页面, 相当于客户端点击 F5("刷新")
2,replace 方法,该方法通过指定URL替换当前缓存在历史里(客户端)的项目,因此当使用replace方法之后,你不能通过“前进”和“后退”来访问已经被替换的URL。
语法: location.replace(URL)
通常使用: location.reload() 或者是 history.go(0) 来做。
此方法类似客户端点F5刷新页面,所以页面method="post"时,会出现"网页过期"的提示。
因为Session的安全保护机制。
当调用 location.reload() 方法时, aspx页面此时在服务端内存里已经存在, 因此必定是 IsPostback 的。
如果有这种应用: 需要重新加载该页面,也就是说期望页面能够在服务端重新被创建,期望是 Not IsPostback 的。
这里,location.replace() 就可以完成此任务。被replace的页面每次都在服务端重新生成。
代码: location.replace(location.href)
返回并刷新页面:
location.replace(document.referrer)
document.referrer //前一个页面的URL
不要用 history.go(-1),或 history.back()来返回并刷新页面,这两种方法不会刷新页面。
附:
Javascript刷新页面的几种方法:
复制代码代码如下:
1,history.go(0)
2,location.reload()
3,location=location
4,location.assign(location)
5,document.execCommand('Refresh')
6,window.navigate(location)
7,location.replace(location)
8,document.URL=location.href
自动刷新页面的方法:
1,页面自动刷新:把如下代码加入<head>区域中
复制代码代码如下:
<meta http-equiv="refresh" content="20">
其中20指每隔20秒刷新一次页面.
2,页面自动跳转:把如下代码加入<head>区域中
复制代码代码如下:
<meta http-equiv="refresh" content="20url=http://www.jb51.net">
其中20指隔20秒后跳转到http://www.jb51.net页面
3,页面自动刷新js版
复制代码代码如下:
<script language="JavaScript">
function myrefresh()
{
window.location.reload()
}
setTimeout('myrefresh()',1000)//指定1秒刷新一次
</script>
4,JS刷新框架的脚本语句
复制代码代码如下:
//刷新包含该框架的页面用
<script language=JavaScript>
parent.location.reload()
</script>
//子窗口刷新父窗口
<script language=JavaScript>
self.opener.location.reload()
</script>
( 或 <a href="javascript:opener.location.reload()">刷新</a> )
//刷新另一个框架的页面用
<script language=JavaScript>
parent.另一FrameID.location.reload()
</script>
如果想关闭窗口时刷新或想开窗时刷新,在<body>中调用以下语句即可。
复制代码代码如下:
<body onload="opener.location.reload()">开窗时刷新
<body onUnload="opener.location.reload()">关闭时刷新
<script language="javascript">
window.opener.document.location.reload()
</script>
一、先来看一个简单的例子:
下面以三个页面分别命名为frame.html、top.html、bottom.html为例来具体说明如何做。
frame.html 由上(top.html)下(bottom.html)两个页面组成,代码如下:
复制代码代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>frame </TITLE>
</HEAD>
<frameset rows="50%,50%">
<frame name=top src="top.html">
<frame name=bottom src="bottom.html">
</frameset>
</HTML>
现在假设top.html (即上面的页面) 有七个button来实现对bottom.html (即下面的页面) 的刷新,可以用以下七种语句,哪个好用自己看着办了。
top.html 页面的代码如下:
复制代码代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>top.html </TITLE>
</HEAD>
<BODY>
<input type=button value="刷新1" onclick="window.parent.frames[1].location.reload()"><br>
<input type=button value="刷新2" onclick="window.parent.frames.bottom.location.reload()"><br>
<input type=button value="刷新3" onclick="window.parent.frames['bottom'].location.reload()"><br>
<input type=button value="刷新4" onclick="window.parent.frames.item(1).location.reload()"><br>
<input type=button value="刷新5" onclick="window.parent.frames.item('bottom').location.reload()"><br>
<input type=button value="刷新6" onclick="window.parent.bottom.location.reload()"><br>
<input type=button value="刷新7" onclick="window.parent['bottom'].location.reload()"><br>
</BODY>
</HTML>
下面是bottom.html页面源代码,为了证明下方页面的确被刷新了,在装载完页面d出一个对话框。
复制代码代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>bottom.html </TITLE>
</HEAD>
<BODY onload="alert('我被加载了!')">
<h1>This is the content in bottom.html.</h1>
</BODY>
</HTML>
解释一下:
复制代码代码如下:
1.window指代的是当前页面,例如对于此例它指的是top.html页面。
2.parent指的是当前页面的父页面,也就是包含它的框架页面。例如对于此例它指的是framedemo.html。
3.frames是window对象,是一个数组。代表着该框架内所有子页面。
4.item是方法。返回数组里面的元素。
5.如果子页面也是个框架页面,里面还是其它的子页面,那么上面的有些方法可能不行。
附:
Javascript刷新页面的几种方法:
1 history.go(0)
2 location.reload()
3 location=location
4 location.assign(location)
5 document.execCommand('Refresh')
6 window.navigate(location)
7 location.replace(location)
8 document.URL=location.href
我使用内置$http服务直接同外部进行通信$http服务简单封装浏览器原XMLHttpRequest象1、链式调用
$http服务能接受参数函数参数象包含用HTTP请求
配置内容函数返promise象具successerror两
$http({
url:'data.json',
method:'GET'
}).success(function(data,header,config,status){
//响应功
}).error(function(data,header,config,status){
//处理响应失败
})
2、返promise象
var promise=$http({
method:'GET',
url:"data.json"
})
由于$http返promise象我响应返用then处理调
使用then特殊参数代表相应象功或失败信息接受两
选函数作参数或者使用successerror调代替
promise.then(function(resp){
//resp响应象
},function(resp){
//带错误信息resp
})
或者:
promise.success(function(data,status,config,headers){
//处理功响应
})
promise.error(function(data,status,hedaers,config){
//处理失败响应
})
then()与其两种主要区别接收完整响应象success()error()则响应
象进行析构
3、快捷get请求
①$http.get('/api/users.json')
get()返HttpPromise象
发送比:delete/head/jsonp/post/put 函数内接受参数具体参照148页
②再发送jsonp请求举例说明: 发送JSONP请求其url必须包含JSON_CALLBACK字
jsonp(url,config) 其config选
var promise=$http.jsonp("/api/users.json?callback=JSON_CALLBACK")
4、$http做函数使用需要传入设置象用说明何构造XHR象
$http({
method:'GET',
url:'/api/users.json',
params:{
'username':'tan'
})
其设置象包含主要键:
①method
:GET/DELETE/HEAD/JSONP/POST/PUT
②url:绝或者相请求目标
③params(字符串map或者象)
键值字符串map或象转换查询字符串追加URL面值字符串JSON序列化
比:
//参数转name=ari形式
$http({
params:{'name':'ari'}
})
④data(字符串或者象)
象包含作消息体发送给服务器数据通发送POST请求使用
AngularJS 1.3始POST请求发送二进制数据要发送blob象简单通使用data参数传递
例:
var blob=new Blob(['Hello world'],{type:'text/plain'})
$http({
method:'POST',
url:'/',
data:blob
})
4、响应象
AngularJS传递给then()响应象包含四属性
◇data
数据代表转换响应体(定义转换)
◇status
响应HTTP状态码
◇headers
函数信息getter函数接受参数用获取应名字值
例用代码获取X-Auth-ID值:
$http({
method: 'GET',
url: '/api/users.json'
}).then (resp) {
// 读取X-Auth-ID
resp.headers('X-Auth-ID')
})
◇config
象用原始请求完整设置象
◇statusText(字符串)
字符串响应HTTP状态文本
5、缓存HTTP请求
默认情况$http服务请求进行本缓存发送单独请求我通向$http请求传入布尔值或者缓存实例启用缓存
$http.get('/api/users.json',{ cache: true })
.success(function(data) {})
.error(function(data) {})
第发送请求$http服务向/api/users.json发送GET请求第二发送同GET请求$http服务缓存取请求结真发送HTTP GET请求
例由于设置启用缓存AngularJS默认使用$cacheFactory,服务AngularJS启自创建
想要AngularJS使用缓存进行更自定义控制向请求传入自定义缓存实例代替true
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)