Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
github
fetch
提交
2c61395e
F
fetch
项目概览
github
/
fetch
11 个月 前同步成功
通知
30
Star
25765
Fork
3216
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
F
fetch
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
2c61395e
编写于
1月 10, 2015
作者:
J
Joshua Peek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add X-Request-URL
上级
304f4054
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
23 addition
and
3 deletion
+23
-3
README.md
README.md
+17
-0
fetch.js
fetch.js
+1
-1
test/server.js
test/server.js
+5
-2
未找到文件。
README.md
浏览文件 @
2c61395e
...
...
@@ -162,6 +162,23 @@ fetch('/users')
})
```
### Response URL caveat
The
`Response`
object has a URL attribute for the final responded resource.
Usually this is the same as the
`Request`
url, but in the case of a redirect,
its all transparent. Newer versions of XHR include a
`responseURL`
attribute
that returns this value. But not every browser supports this. The compromise
requires setting a special server side header to tell the browser what URL it
just requested (yeah, I know browsers).
```
ruby
response
.
headers
[
'X-Request-URL'
]
=
request
.
url
```
If you want
`response.url`
to be reliable, you'll want to set this header. The
day that you ditch this polyfill and use native fetch only, you can remove the
header hack.
## Browser Support
![
Chrome
](
https://raw.github.com/alrra/browser-logos/master/chrome/chrome_48x48.png
)
| !
[
Firefox
](
https://raw.github.com/alrra/browser-logos/master/firefox/firefox_48x48.png
)
| !
[
IE
](
https://raw.github.com/alrra/browser-logos/master/internet-explorer/internet-explorer_48x48.png
)
| !
[
Opera
](
https://raw.github.com/alrra/browser-logos/master/opera/opera_48x48.png
)
| !
[
Safari
](
https://raw.github.com/alrra/browser-logos/master/safari/safari_48x48.png
)
...
...
fetch.js
浏览文件 @
2c61395e
...
...
@@ -181,7 +181,7 @@
status
:
status
,
statusText
:
xhr
.
statusText
,
headers
:
headers
(
xhr
),
url
:
xhr
.
responseURL
url
:
xhr
.
responseURL
||
xhr
.
getResponseHeader
(
'
X-Request-URL
'
)
}
resolve
(
new
Response
(
xhr
.
responseText
,
options
))
}
...
...
test/server.js
浏览文件 @
2c61395e
...
...
@@ -20,8 +20,11 @@ var routes = {
}));
})
},
'
/hello
'
:
function
(
res
)
{
res
.
writeHead
(
200
,
{
'
Content-Type
'
:
'
text/plain
'
});
'
/hello
'
:
function
(
res
,
req
)
{
res
.
writeHead
(
200
,
{
'
Content-Type
'
:
'
text/plain
'
,
'
X-Request-URL
'
:
'
http://
'
+
req
.
headers
.
host
+
req
.
url
});
res
.
end
(
'
hi
'
);
},
'
/redirect/301
'
:
function
(
res
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录