作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用 fetch()
查询为我的搜索页面提供支持的 API 端点。它返回 JSON 格式的搜索结果列表。
我还想将用户提交的当前查询传递给 API。旧的实现使用 jquery 和 getJSON 。查看 getJSON 的文档,它说我可以传入 data
变量:
dataType: PlainObject or StringA plain object or string that is sent to the server with the request.
Looking at the docs对于获取,我不确定如何传递数据作为我的请求的一部分。所以我的问题是,如何传入一个字符串,该字符串将与我的请求一起发送到服务器?
编辑:我想我可以将查询附加到请求 URL,例如“/search/?q=Something”并发送。有人有更好的方法吗?
最佳答案
如果你看Body section在有关 fetch 的文档中,它列出了几种可用于指定请求中发送的数据的值类型。
使用FormData
的示例:
var fd = new FormData();
fd.append('q', 'Something');
fetch('/search', {
method : "POST",
body : fd
})
.then(...)
请注意,您不能在 GET 或 HEAD 请求上使用 body
选项(在您的情况下似乎可能会这样做)。在这种情况下,您可以使用 URLSearchParams
构建参数:
var params = new URLSearchParams();
params.append('q', 'Something');
fetch('/search/?' + params.toString(), {
method: 'GET'
})
.then(...);
关于javascript - 如何向 javascript fetch() 函数发送附加数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42330203/
我是一名优秀的程序员,十分优秀!