Voglio implementare una funzione di ricerca sul mio sito Web, quindi quello che faccio è effettuare una chiamata jquery ajax con il testo al server express che cerca mongodb e dà un array di oggetti degli utenti che corrispondono. Ora ricevo questo oggetto con successo ma poiché non ci sono partials su ejs come posso aggiornare solo la lista dei risultati che genera l'html per ogni utente?Come generare contenuti su ejs con jquery dopo una chiamata ajax per esprimere il server
5
A
risposta
9
I pacchetti nodo EJS sono dotati di una libreria javascript lato client situata in ./node_modules/ejs/ejs.js
o ./node_modules/ejs/ejs.min.js
. Dopo averlo incluso nella pagina, ti consigliamo di caricare il modello, quindi generare l'HTML dal modello. Detecting an undefined object property Javascript campione (il caricamento del modello al caricamento della pagina sarebbe un po 'più ideale):
function getData() {
// Grab the template
$.get('/results.ejs', function (template) {
// Compile the EJS template.
var func = ejs.compile(template);
// Grab the data
$.get('/data', function (data) {
// Generate the html from the given data.
var html = func(data);
$('#divResults').html(html);
});
});
}
EJS:
<table>
<tr>
<th>ID</th>
<th>Name</th>
</tr>
<% data.forEach(function (d) { %>
<tr>
<td><%- d.id %></td>
<td><%- d.name %></td>
</tr>
<% }); %>
</table>
Ajax chiamata in veloce:
app.get('/data', function (req, res) {
res.send({ data: [
{ id: 5, name: 'Bill' },
{ id: 1, name: 'Bob' }
]});
});
Problemi correlati
- 1. jQuery - reindirizzare dopo la chiamata ajax
- 2. Mostra automaticamente il suggerimento dopo una chiamata Ajax
- 3. chiamata Jquery/Ajax con timer
- 4. validazione jquery con chiamata ajax
- 5. jQuery Ajax chiamata semplice
- 6. Il browser attende il completamento della chiamata ajax anche dopo la chiamata (jQuery)
- 7. jQuery tablesorter - perdita di funzionalità dopo la chiamata AJAX
- 8. Qual è il modo corretto di scorrere un array in un modello EJS dopo una chiamata AJAX (usando ExpressJS)?
- 9. È possibile esprimere con EJS il rendering dell'HTML su una variabile (quindi posso inviarlo come e-mail)?
- 10. Dove vengono caricati gli script dopo una chiamata ajax?
- 11. Rimuovere una chiamata Ajax dai collegamenti regolari con jQuery Mobile
- 12. facendo una chiamata ajax su window.unload
- 13. Accesso all'oggetto DOM dopo la chiamata AJAX?
- 14. Come smettere di aggiornare la pagina dopo una chiamata ajax?
- 15. Come generare nuovi contenuti con Hyde?
- 16. Elenco di aggiornamento dopo chiamata ajax con Knockout JS
- 17. Jquery Ajax Chiamata all'API Web
- 18. caricamento di una vista dopo una chiamata Ajax, CodeIgniter
- 19. Javascript su (prima e dopo) ogni chiamata Ajax
- 20. Jquery: chiamata Ajax per servlet e ottenere dati come JSON
- 21. funzioni di chiamata da con modelli ejs sul nodo
- 22. Ritardo chiamata ajax all'ingresso chiave in jQuery
- 23. JQuery Ajax - Come rilevare l'errore di connessione di rete quando si effettua una chiamata Ajax
- 24. Mimando una chiamata Ajax con Curl PHP
- 25. È possibile effettuare una chiamata AJAX all'interno di un'altra chiamata AJAX in jQuery?
- 26. jQuery AJAX con intervallo
- 27. Come effettuare una chiamata Ajax in MVC4
- 28. Come reindirizzare dopo il successo di una chiamata ajax utilizzando React-router-component?
- 29. CakePHP 2.1 Effettuare una chiamata ajax jQuery con il componente di sicurezza attivato
- 30. Javascript non carica dopo AJAX chiamata
Can voi posto la funzione 'getData' all'interno del template stesso o dovrai creare un file' script' esterno contenente la funzione che verrà poi iniettata all'interno della tua pagina? – AllJs
@AllJs, Per quanto ne so puoi inserirlo nello script, tuttavia, penso che sarebbe meglio organizzato se tu avessi un file di script esterno. – matth