小编esc*_*ion的帖子

在数组中反应计数对象属性

我正在通过 API 获取数据。这是一个电影,电视节目,人物数据库。当我在搜索框中搜索一个词时,它会返回嵌套在数组中的对象中的相关电影、电视节目和人物名称。例如,当我搜索“战斗”时:

    [
    0:{original_name: "? ????", id: 70813, media_type: "tv", name: "Fight My Way", vote_count: 5,…}

    1:{vote_average: 8.2, vote_count: 8057, id: 550, video: false, media_type: "movie", title: "Fight Club",…}

    2:{vote_average: 6.1, vote_count: 215, id: 345922, video: false, media_type: "movie",…}

    3:{original_name: "Fight", id: 46554, media_type: "tv", name: "Fight", vote_count: 0, vote_average: 0,…}

    4:{original_name: "The Good Fight", id: 69158, media_type: "tv", name: "The Good Fight", vote_count: 22,…}

    5:{vote_average: 0, vote_count: 0, id: 158301, video: false, media_type: "movie", title: "Fight",…}
   ]
Run Code Online (Sandbox Code Playgroud)

还有更多结果,但我删掉了它们。如您所见 …

javascript arrays javascript-objects reactjs

7
推荐指数
2
解决办法
4万
查看次数

firebase 在创建用户时添加用户信息(react.js)

在问这个问题之前我进行了研究,但找不到答案。

我用react js制作了一个表单。当我单击该按钮时,它会使用 createUserWithEmailAndPassword() 方法创建一个用户。创建用户没有问题。我想添加额外的信息,例如;用户名:“Usernameeeee”到我的数据库。数据库将如下所示:

users {
     userUid1: {name: "Name User 1"}
     userUid2: {name: "Name User 2"}
     ....
       }
Run Code Online (Sandbox Code Playgroud)

当我使用 createUserWithEmailAndPassword() 时,它会创建一个用户并登录。但正如您在上面看到的,我需要当前用户的 ID。我知道如何正常获取它, firebase.auth().currenUser... 但是在创建用户时我无法捕获用户的 id。它返回空;

export function signUpUser({email, password}) {
return function (dispatch){
firebase.auth().createUserWithEmailAndPassword(email, password)
.then(
    () => dispatch({type: USER_SIGNUP_SUCCESS})
)
.then(console.log(firebase.auth().currentUser))
.catch(error => {
    dispatch({type: USER_SIGNUP_FAIL, payload: error.message});
});
}
Run Code Online (Sandbox Code Playgroud)

}

当我控制台当前用户时,创建用户已完成但尚未登录。那么如何在创建用户时添加信息呢?(不是在以其他方式登录后)

javascript firebase reactjs firebase-authentication

2
推荐指数
1
解决办法
4212
查看次数

如何在axios get方法头中设置用户名和密码

我想通过反应项目中的axios从服务器获取一些数据.当我把网址放在浏览器上并点击进入浏览器时问我用户名和密码,之后,我可以看到json数据.但我不知道如何在get方法中设置axios头中的密码和用户名.我在很多论坛和网页上搜索过它,特别是这个链接对我没有帮助:发送axios获取带有授权标题的请求.所以最后我尝试了(在此之前很多事情,但我更困惑):

componentDidMount() {
   axios.get('http://my_url/api/stb', {auth: {
    username: 'usrnm',
    password: 'pswrd'
}})
   .then(function(response) {
       console.log(response.data);
       console.log(response.headers['Authorization']);
   }).catch(err => console.log(err));
}
Run Code Online (Sandbox Code Playgroud)

而我什么都得不到.我在控制台中收到此错误:

Error: Network Error
Stack trace:
createError@http://localhost:3000/static/js/bundle.js:2195:15
handleError@http://localhost:3000/static/js/bundle.js:1724:14
Run Code Online (Sandbox Code Playgroud)

实际上,api文档提到了这些话:

如果没有标题或数据不正确 - 服务器的答案将包含HTTP状态401 Unauthorized和消息:

< {"status":"ERROR","results":"","error":"401 Unauthorized request"}
Run Code Online (Sandbox Code Playgroud)

要成功验证,只需在API的每个请求标头中添加:

Authorization: Basic <base64encode("login":"password")>
Run Code Online (Sandbox Code Playgroud)

奇怪的是,当我使用邮递员时,响应会在身体部分下方向我发送"401未经授权"的回复.但我在浏览器的控制台中看不到任何401错误.

javascript httprequest ajax-request reactjs axios

1
推荐指数
1
解决办法
4600
查看次数