Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/441.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Axios获取请求成功,但数据属性为空?_Javascript_Node.js_Http_Axios_Httpresponse - Fatal编程技术网

Javascript Axios获取请求成功,但数据属性为空?

Javascript Axios获取请求成功,但数据属性为空?,javascript,node.js,http,axios,httpresponse,Javascript,Node.js,Http,Axios,Httpresponse,我有一个简单的反应组件: import React from "react" import axios from "axios" export default () => { const axios = require("axios") axios.get("http://localhost:8000/user").then(function(res) { // handle success console.log(res) }) return (

我有一个简单的反应组件:

import React from "react"
import axios from "axios"

export default () => {
  const axios = require("axios")

  axios.get("http://localhost:8000/user").then(function(res) {
    // handle success
    console.log(res)
  })

  return (
    <div>
        Hello
    </div>
  )
}
但是,以下是axios响应的console.log:

数据属性是空字符串。我不知道为什么我不能在axios get请求中获取此数据

编辑:(请求后端代码)

后端

//imports here, then:    
passport.use(
  new Auth0Strategy(
    {
      domain: "bla.eu.auth0.com",
      clientID: "afjgnrtkngewmofmwlefmlwems",
      clientSecret:
        "jngnsknkankjangkjangjknKJJKGKAHBJVvgjvVgjVbhJBjhbJbj",
      callbackURL: "http://localhost:8000/callback",
      audience: "https://bla.eu.auth0.com/userinfo",
      responseType: "code",
      scope: "openid email profile",
    },
    function(accessToken, refreshToken, extraParam, profile, done) {
      return done(null, profile)
    }
  )
)

passport.serializeUser(function(user, done) {
  done(null, user)
})

passport.deserializeUser(function(user, done) {
  done(null, user)
})

const app = express()
app.use(cors({ origin: "http://localhost:8001" }))

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))

app.use(
  session({ secret: "secret_key", resave: true, saveUninitialized: true })
)

app.use(passport.initialize())
app.use(passport.session())

app.use(function(req, res, next) {
  res.locals.loggeedIn = false
  if (req.session.passport && typeof req.session.passport.user !== undefined) {
    res.locals.loggedIn = true
  }
  next()
})

app.get("/", function(req, res, next) {
  res.send("Root")
})

app.get(
  "/login",
  passport.authenticate(
    "auth0",
    {
      domain: "bla.auth0.com",
      clientID: "kafmkafmkamfkamfka",
      redirectUri: "http://localhost:8000/callback",
      audience: "https://bla.auth0.com/userinfo",
      responseType: "code",
      scope: "openid email profile",
    },
    function(req, res, next) {
      res.redirect("/")
    }
  )
)

app.get("/logout", function(req, res, next) {
  req.logout()
  res.redirect("/")
})

app.get(
  "/callback",
  passport.authenticate("auth0", {
    failureRedirect: "/failure",
  }),
  function(req, res) {
    res.redirect("/user")
  }
)

app.get("/user", function(req, res, next) {
  res.send(req.user)
})

app.get("/failure", function(req, res, next) {
  res.send("Failure")
})

app.listen(8000, function() {
  console.log("running")
})

为什么要导入
axios
两次-使用
require
import
?哦,对不起!但是刚刚修复了它,并没有改变问题!无论如何谢谢你!你能试着写下这个,告诉我它是否有效吗?get(“=>{//handle success console.log(res)})你知道当前用户是如何确定的吗?Cookies?如果你得到的是200,当用户无法确定时,我们可以假设你的API返回一个空响应吗?Passport在中间件上工作。这意味着如果你附加中间件,而不仅仅是用户获取请求中的用户。否则它将是空的。你的代码app.get(“/user“,没有passport中间件,因此用户不在。如果您希望在所有请求中使用用户,则必须在所有请求中启用中间件。如serilizer deserilizer。请阅读passport js文档。这可能对您有所帮助。”。
//imports here, then:    
passport.use(
  new Auth0Strategy(
    {
      domain: "bla.eu.auth0.com",
      clientID: "afjgnrtkngewmofmwlefmlwems",
      clientSecret:
        "jngnsknkankjangkjangjknKJJKGKAHBJVvgjvVgjVbhJBjhbJbj",
      callbackURL: "http://localhost:8000/callback",
      audience: "https://bla.eu.auth0.com/userinfo",
      responseType: "code",
      scope: "openid email profile",
    },
    function(accessToken, refreshToken, extraParam, profile, done) {
      return done(null, profile)
    }
  )
)

passport.serializeUser(function(user, done) {
  done(null, user)
})

passport.deserializeUser(function(user, done) {
  done(null, user)
})

const app = express()
app.use(cors({ origin: "http://localhost:8001" }))

app.use(bodyParser.json())
app.use(bodyParser.urlencoded({ extended: false }))

app.use(
  session({ secret: "secret_key", resave: true, saveUninitialized: true })
)

app.use(passport.initialize())
app.use(passport.session())

app.use(function(req, res, next) {
  res.locals.loggeedIn = false
  if (req.session.passport && typeof req.session.passport.user !== undefined) {
    res.locals.loggedIn = true
  }
  next()
})

app.get("/", function(req, res, next) {
  res.send("Root")
})

app.get(
  "/login",
  passport.authenticate(
    "auth0",
    {
      domain: "bla.auth0.com",
      clientID: "kafmkafmkamfkamfka",
      redirectUri: "http://localhost:8000/callback",
      audience: "https://bla.auth0.com/userinfo",
      responseType: "code",
      scope: "openid email profile",
    },
    function(req, res, next) {
      res.redirect("/")
    }
  )
)

app.get("/logout", function(req, res, next) {
  req.logout()
  res.redirect("/")
})

app.get(
  "/callback",
  passport.authenticate("auth0", {
    failureRedirect: "/failure",
  }),
  function(req, res) {
    res.redirect("/user")
  }
)

app.get("/user", function(req, res, next) {
  res.send(req.user)
})

app.get("/failure", function(req, res, next) {
  res.send("Failure")
})

app.listen(8000, function() {
  console.log("running")
})