我的API GET请求在Postman中运行,但在React.JS /浏览器中不运行。我必须在URL的开头输入用户名和密码才能访问API信息,该信息在Postman中也可以正常工作,但在React /浏览器中不能正常工作。
我的GET请求如下:
http://username:password@mywebsite.com:4040/api/stuff/stuff2
它可以在Postman中工作,但是当我在React中执行axios GET请求时,在console.logs中,请求的username:password部分看起来已被删除,并且我收到一条错误代码,表明我是未经授权的。
这是React代码:
getList = () => {
axios
.get('http://username:password@mywebsite.com:4040/api/stuff/stuff2')
.then(res => {
console.log(res)
this.setState({
list: res.data
})
})
.catch(err => console.log(err))
}
您知道如何使GET请求在React中工作吗?
答案 0 :(得分:1)
您正尝试使用basic access authentication在Postman中工作,因为Postman不在进行AJAX请求,浏览器根本不允许您在AJAX请求URL中传递该信息。
先前回答过here!
您可以像这样将auth作为选项传递给您的axios.get
呼叫:
axios.get(
'http://mywebsite.com:4040/api/stuff/stuff2',
{
auth: {
username: 'username',
password: 'password'
}
}
)