获取在Postman上工作的请求,但不在React.js中工作?

时间:2020-01-15 23:57:39

标签: javascript axios postman

我的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中工作吗?

1 个答案:

答案 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'
     }
   }
)