Questions tagged «fetch-api»

Fetch API是XHR的改进替代品,用于发出异步HTTP请求,同时更好地管理重定向以及与CORS和Service Worker的交互。

11
提取:POST json数据
Наэтотвопросетьответына 堆栈溢出русском:какотправитьjsonнасервер是否获取JavaScript?Всеговоряттолькоотом,какполучитьjson 我正在尝试使用fetch发布 JSON对象。 据我了解,我需要在请求的主体上附加一个字符串化的对象,例如: fetch("/echo/json/", { headers: { 'Accept': 'application/json', 'Content-Type': 'application/json' }, method: "POST", body: JSON.stringify({a: 1, b: 2}) }) .then(function(res){ console.log(res) }) .catch(function(res){ console.log(res) }) 使用jsfiddle的json回显时,我希望看到返回的对象({a: 1, b: 2}),但这不会发生-chrome devtools甚至不将JSON显示为请求的一部分,这意味着它没有被发送。

10
尝试从REST API获取数据时,请求的资源上没有“ Access-Control-Allow-Origin”标头
我正在尝试从HP Alm的REST API中获取一些数据。它与一个小的curl脚本一起使用时效果很好-我得到了数据。 现在使用JavaScript进行操作,获取和ES6(或多或少)似乎是一个更大的问题。我不断收到此错误消息: 提取API无法加载。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访问源' http://127.0.0.1:3000 '。响应的HTTP状态代码为501。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”以在禁用CORS的情况下获取资源。 我了解这是因为我试图从本地主机中获取数据,并且解决方案应使用CORS。现在我以为我确实这样做了,但是以某种方式它要么忽略了我在标题中写的内容,要么是其他问题? 那么,是否存在实施问题?我做错了吗?我无法检查服务器日志。我真的有点卡在这里。 function performSignIn() { let headers = new Headers(); headers.append('Content-Type', 'application/json'); headers.append('Accept', 'application/json'); headers.append('Access-Control-Allow-Origin', 'http://localhost:3000'); headers.append('Access-Control-Allow-Credentials', 'true'); headers.append('GET', 'POST', 'OPTIONS'); headers.append('Authorization', 'Basic ' + base64.encode(username + ":" + password)); fetch(sign_in, { //mode: 'no-cors', credentials: 'include', method: 'POST', headers: headers }) …


6
使用Cookie提取API
我正在尝试新的Fetch API,但Cookie遇到问题。具体来说,成功登录后,以后的请求中会有一个Cookie标头,但是Fetch似乎忽略了这些标头,并且我使用Fetch进行的所有请求都是未经授权的。 是因为Fetch尚未准备就绪还是Fetch无法与Cookie配合使用? 我使用Webpack构建我的应用程序。我还在React Native中使用Fetch,它没有相同的问题。
198 cookies  fetch-api 

4
什么是不透明的响应,它有什么作用?
我尝试访问fetch旧网站的URL,并发生了错误: Fetch API cannot load http://xyz. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://abc' is therefore not allowed access. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled. 我理解了该消息,并尝试执行一个返回不透明响应的请求: fetch("http://xyz", {'mode': 'no-cors'}) 好的,现在可以了...但是我看不懂。= \ 那么,不透明的响应的目的是什么?
172 cors  fetch-api 

9
如何使用JS提取API上传文件?
我仍在努力把它缠住。 我可以让用户使用文件输入来选择文件(甚至多个): <form> <div> <label>Select file to upload</label> <input type="file"> </div> <button type="submit">Convert</button> </form> 我可以submit使用捕获事件<fill in your event handler here>。但是一旦完成,如何使用发送文件fetch? fetch('/files', { method: 'post', // what goes here? What is the "body" for this? content-type header? }).then(/* whatever */);

5
尝试使用获取和通过模式:无心
我可以http://catfacts-api.appspot.com/api/facts?number=99通过邮递员到达终点,然后返回JSON 另外,我正在使用create-react-app,并希望避免设置任何服务器配置。 在我的客户端代码中,我试图用来fetch做同样的事情,但是出现错误: 所请求的资源上没有“ Access-Control-Allow-Origin”标头。因此,不允许访问源' http:// localhost:3000 '。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。 所以我试图将一个对象传递到我的Fetch中,这将禁用CORS,如下所示: fetch('http://catfacts-api.appspot.com/api/facts?number=99', { mode: 'no-cors'}) .then(blob => blob.json()) .then(data => { console.table(data); return data; }) .catch(e => { console.log(e); return e; }); 有趣的是,我得到的错误实际上是此函数的语法错误。我不确定我的实际值fetch是否已损坏,因为当我删除{mode:'no-cors'}对象,并为其提供不同的URL时,它就可以正常工作。 我也尝试传递对象{ mode: 'opaque'},但这会从上面返回原始错误。 我相信我所需要做的就是禁用CORS。我想念什么?

3
提取API与XMLHttpRequest
我知道Fetch API使用,Promise并且两者都允许您向服务器执行AJAX请求。 我已阅读到Fetch API具有一些额外的功能,这些功能在XMLHttpRequest(和Fetch API polyfill 中均不可用,因为它基于XHR)。 Fetch API有哪些额外功能?

11
使用Fetch GET请求设置查询字符串
我正在尝试使用新的Fetch API: 我正在发出这样的GET请求: var request = new Request({ url: 'http://myapi.com/orders', method: 'GET' }); fetch(request); 但是,我不确定如何向GET请求中添加查询字符串。理想情况下,我希望能够向某人发出GET请求URL: 'http://myapi.com/orders?order_id=1' 在jQuery我可以通过做这个{order_id: 1}作为data参数$.ajax()。有没有等效的方法可以做到这一点Fetch API?

22
反应本机fetch()网络请求失败
当我使用react-native init(RN版本0.29.1)创建一个全新的项目并将提取内容放入公共Facebook演示电影API的render方法中时,它将引发Network Request Failed。堆栈跟踪非常无用,我无法在chrome控制台中调试网络请求。这是我要发送的内容: fetch('http://facebook.github.io/react-native/movies.json') .then((response) => response.json()) .then((responseJson) => { return responseJson.movies; }) .catch((error) => { console.error(error); });

4
在React Native中将授权标头与Fetch一起使用
我试图fetch在React Native中使用以从Product Hunt API获取信息。我已经获得了正确的访问令牌并将其保存到State,但是似乎无法在GET请求的Authorization标头中传递它。 这是我到目前为止的内容: var Products = React.createClass({ getInitialState: function() { return { clientToken: false, loaded: false } }, componentWillMount: function () { fetch(api.token.link, api.token.object) .then((response) => response.json()) .then((responseData) => { console.log(responseData); this.setState({ clientToken: responseData.access_token, }); }) .then(() => { this.getPosts(); }) .done(); }, getPosts: function() { var obj …

15
HTTP请求返回状态码0是什么意思?
当JavaScript网络调用(例如fetch或XMLHttpRequest或任何其他类型的HTTP网络请求)失败且HTTP状态代码为0时,这是什么意思? 这似乎不是有效的HTTP状态代码,因为其他代码是HTTP规范中的三位数字。 我尝试将网络完全拔掉作为测试。它可能不相关,但是导致状态代码17003(IIRC),粗略搜索表明这意味着“ DNS服务器查找失败”。 相同的代码在某些位置和系统上可以正常工作,但是在某些环境中,它会失败,并且状态码为0,并且没有提供responseText。 这是到Internet URL的典型HTTP POST。它不涉及file://,据我所知可能会返回0,表示在Firefox中成功。

8
使用提取进行基本身份验证?
我想用fetch编写一个简单的基本身份验证,但是我一直收到401错误。如果有人告诉我代码出了什么问题,那就太好了: let base64 = require('base-64'); let url = 'http://eu.httpbin.org/basic-auth/user/passwd'; let username = 'user'; let password = 'passwd'; let headers = new Headers(); //headers.append('Content-Type', 'text/json'); headers.append('Authorization', 'Basic' + base64.encode(username + ":" + password)); fetch(url, {method:'GET', headers: headers, //credentials: 'user:passwd' }) .then(response => response.json()) .then(json => console.log(json)); //.done(); function parseJSON(response) { return …

5
如何使用提取API发布表单数据?
我的代码: fetch("api/xxx", { body: new FormData(document.getElementById("form")), headers: { "Content-Type": "application/x-www-form-urlencoded", // "Content-Type": "multipart/form-data", }, method: "post", } 我尝试使用提取API发布表单,其发送的正文如下: -----------------------------114782935826962 Content-Disposition: form-data; name="email" test@example.com -----------------------------114782935826962 Content-Disposition: form-data; name="password" pw -----------------------------114782935826962-- (我不知道为什么每次发送时边界数字都会更改...) 我希望它使用“ Content-Type”:“ application / x-www-form-urlencoded”发送数据,我该怎么办?或者,如果我只需要处理它,如何在控制器中解码数据? 向谁回答我的问题,我知道我可以做到: fetch("api/xxx", { body: "email=test@example.com&password=pw", headers: { "Content-Type": "application/x-www-form-urlencoded", }, method: "post", } 我想要的是类似jQuery中的$(“#form”)。serialize()(不使用jQuery)或在控制器中解码mulitpart / …

4
为什么.json()返回诺言?
我最近一直在搞弄fetch()api,发现有些奇怪的地方。 let url = "http://jsonplaceholder.typicode.com/posts/6"; let iterator = fetch(url); iterator .then(response => { return { data: response.json(), status: response.status } }) .then(post => document.write(post.data)); ; post.data返回一个Promise对象。 http://jsbin.com/wofulo/2/edit?js,输出 但是,如果将其写为: let url = "http://jsonplaceholder.typicode.com/posts/6"; let iterator = fetch(url); iterator .then(response => response.json()) .then(post => document.write(post.title)); ; post这是Object您可以访问标题属性的标准。 http://jsbin.com/wofulo/edit?js,输出 所以我的问题是:为什么response.json要在对象文字中返回一个promise,但是如果刚返回则返回一个值?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.