编辑:这可能是CORS的问题,我在本地主机上。。。
在Javascript中,我可以设置请求头,获取并返回如下响应:
$(function() {
var params = {
// Request parameters
};
$.ajax({
url: "https://demo-api.com/",
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{API KEY}");
},
type: "GET",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
问题:
我想学习VueJs,并想用VueJs Axios复制这个,但是我很困惑如何设置请求标题,因为我在上面的JS中。
以下是我失败的尝试:
new Vue({
el: '#app',
data () {
return {
info: null,
loading: true,
errored: false,
response: false
}
},
mounted () {
axios({
method: 'get',
url: 'https://demo-api.com/',
headers: {
'Ocp-Apim-Subscription-Key': 'API KEY',
}
})
.then(response => {
console.log(response)
this.response = true
})
.catch(error => {
console.log(error)
this.errored = true
})
.finally(() => this.loading = false)
}
})
如何像在上面的JS中那样专门设置请求头。我想学习如何在Vue/Axios中实现以下功能。
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","{API KEY}");
谢谢。
你的问题不是标题。你设置得很好。它与URL有关。您正在这样构建您的URL:
url: 'https://demo-api.com/{demoId}?" + $.param(params)',
您的URL字符串错误。它在结尾处有一个额外的引用。这就是为什么你有404错误。这就是你需要做的:
url: "https://demo-api.com/{demoId}?" + $.param(params),
另外,如果您使用的是Vue而不是jQuery,那么就不应该使用$。参数
功能。相反,请使用适当的查询字符串模块,如qs。因此,您的实际URL如下所示:
url: `https://demo-api.com/${demoId}?${qs.stringify(params)}`,
这里我们使用ES2015字符串插值。
在Vue.js中创建和挂载事件之间的差异
阅读一个答案,并尝试使用创建()
生命周期挂钩,而不是挂载()
此外,您可以使用此标头为请求创建单独的axios实例,然后在您的代码中使用它:
axios-demo-api.js
import axios from 'axios'
const instance = axios.create({
baseURL: 'https://demo-api.com',
headers: {'Ocp-Apim-Subscription-Key': 'API KEY'} //don't forget to change API key to your exact key
})
export default instance
用法:
import axiosInstance from 'axios-demo-api';
export default {
created() {
axiosInstance.get('/{demoId}?' + $.param(params))
.then(response => {
console.log(response)
this.response = true
})
.catch(error => {
console.log(error)
this.errored = true
})
.finally(() => this.loading = false)
}
}
HTTP请求报文由3部分组成(请求行+请求头+请求体): 下面是一个实际的请求报文: ① 是请求方法,GET和POST是最常见的HTTP方法,除此以外还包括DELETE、HEAD、OPTIONS、PUT、TRACE。不过,当前的大多数浏览器只支持GET和POST,Spring 3.0提供了一个HiddenHttpMethodFilter,允许你通过“_method”的表单参数指定这些特殊的HTTP
我正在尝试为Rest-Assured(RESTful API)生成cucumber报告,并且我还热衷于捕获cucumber报告中的请求/响应。我想知道是否有人已经实现了这一点或可以提供一些指示。
后端 前端 请求报错
发送get请求,请求参数内容中有[]\好像都会报400错误,这是为什么?
请问大佬们,如何通过axios,去实现post请求,并且请求参数为JOSN格式传入body内?我这样的写法有什么错误吗?请求就提示跨域报错
本文向大家介绍Python小白学习爬虫常用请求报头,包括了Python小白学习爬虫常用请求报头的使用技巧和注意事项,需要的朋友参考一下 客户端HTTP请求 URL只是标识资源的位置,而HTTP是用来提交和获取资源。客户端发送一个HTTP请求到服务器的请求消息,包括以下格式: 请求行、请求头部、空行、请求数据 一个典型的HTTP请求 常用请求报头 1. Host (主机和端口号) Host:对应网址