¿Cómo escribo frontend "Ajax"

votos
0

Básicamente, estoy trabajando en un proyecto en un sitio web matrimonio. En la página, he creado una nueva sección de perfil recientemente añadido .I haber escrito el código en el servidor, pero en el frontend lo que debo escribir para llamar al código de fondo. He utilizado la técnica, pero no está funcionando.

El código que he escrito en el controlador

module.exports.recent = function(req, res) {
    User.find({}).sort('-created').limit(5).exec(function(err, data){
      if (err) 
      {
        return res.status(400).json({
           message: errorHandler.getErrorMessage(err)
         })
      }
      res.json(req.profile,{
        user: req.user || null,
        request: req,
        users: data
      });

    });

};

El código que he escrito en la ruta

app.route('/recent').get(users.recent);
Publicado el 02/09/2018 a las 05:17
fuente por usuario
En otros idiomas...                            


1 respuestas

votos
0

Para responder a su pregunta en términos generales de "Como llamar en el código de fondo de la interfaz? - no lo hace. Usted hace una petición a la ruta que corre su código, y luego envía de vuelta (probablemente con res.json) una respuesta. No hay manera de llamar directamente al código, por lo que tendrá que hacer una petición AJAX (como se haya identificado).

Se puede utilizar un par de cosas. La forma más fácil, si estás en un navegador moderno, es una función fetch. fetches una API de bajo nivel para hacer llamadas AJAX desde el navegador, y viene integrado en la mayoría de los navegadores modernos.

fetch('/recent')
  .then(res => res.json())
  .then(myResult => { /* do what you want with the result here */ })

Usted puede aprender más acerca fetchdel MDN: https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API

Debido a que fetches bastante bajo nivel, hay varios envoltorios escritos sobre ella para hacer la vida más fácil. Mi preferencia es axios, que se puede leer más acerca de https://github.com/axios/axios . El código siguiente es el equivalente con axios:

axios.get('/recent')
  .then(res => res.data)
  .then(myResult => { /* do what you want with the result here */ })

axiosrealmente entra en su propia cuando se está realizando consultas más complejas. Es compatible con un paquete a través de UMD unpkg- acaba de caer <script src="https://unpkg.com/axios/dist/axios.min.js"></script>en su página HTML, y usted tendrá acceso a axiosnivel mundial en el objeto ventana.

Respondida el 02/09/2018 a las 08:45
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more