我正在尝试使用axios.get
的响应,并在axios.post
中使用它。如何在POST
请求中将响应用作标题?
我尝试将axios.post
与headers
一起在请求配置中定义:
var config = {
headers: {
'Access-Control-Allow-Origin': '*',
'user': newUser.eid,
'pass':'bd957c3fbb'
}
}
/*
const axios = require('axios')
getCrumb() {
return axios.get('https://jenkins.com/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)', config)
.then(response => {
return response
})
}
*/
/* code to get jenkins crumb */
const getJenkinsCrumb = () => {
try {
return axios.get('https://jenkins.com/crumbIssuer/api/xml?xpath=concat(//crumbRequestField,":",//crumb)', config)
.then((crumbValue) => {
console.log(crumbValue.data);
})
} catch (error) {
console.log(error)
}
}
getJenkinsCrumb();
我想使用来自上一个GET
请求(上方)的响应作为POST
调用(下方)中的标头。
var crumbHeader = {
headers: {
'Access-Control-Allow-Origin': '*',
}
}
/* post api to kick off the build */
try {
return axios.post('https://abc123:bd95701859@jenkins.com/job/Non- PAR/job/Non-Prod-Jobs/job/uitest/job/TestJob/buildWithParameters?nodes=100000&clustername=clustername', crumbHeader)
.then((postKickTest) =>{
console.log(postKickTest.data);
})
} catch (error) {
console.log(error)
}
答案 0 :(得分:0)
Axios request config包含一个headers
属性,用于指定请求的标头。可以将配置指定为axios.post()
的第二个参数(如果使用两个参数的签名)或第三个参数(如果使用三个参数的签名)。此示例演示了axios.post()
的两个参数的签名,该签名将headers
设置为先前请求的数据结果:
export default {
methods: {
async sendRequest() {
const userResp = await axios.get('https://reqres.in/api/users/2')
await axios.post('https://reqres.in/api/users', {
headers: userResp.data,
data: {
name: 'john doe',
job: 'leader',
}
})
},
}
}
旁注::Access-Control-Allow-Origin
是CORS标头,只能由服务器设置。从客户端发送时无效。您可能会错误地认为该标头未到达服务器,因为它无法解决CORS问题。