Estoy tratando de implementar una función de búsqueda para mi sitio web. Cuando el usuario escribe un término de búsqueda foobar
en un cuadro input
y lo envía, se le redirige a http://mydomain.com/search?query=foobar
.¿Debería Backbone.js obtener los parámetros GET de la URL?
Problema :: ¿Cómo debo tomar los parámetros GET query
de la URL, y lo enviará al backend y obtener una serie de resultados de nuevo como una respuesta JSON? ¿Debería incluso hacerlo de esta manera?
Mi intento actual a continuación ni siquiera hace que se active la función search
.
Router
var AppRouter = Backbone.Router.extend({
routes: {
'search?query=:query': 'search'
// ... and some other routes
},
search: function(query) {
this.photoList = new SearchCollection();
var self = this;
this.photoList.fetch({
data: {query: query},
success: function() {
self.photoListView = new PhotoListView({ collection: self.photoList });
self.photoListView.render();
}
});
}
});
var app = new AppRouter();
Backbone.history.start({
pushState: true,
root: '/'
});
El usuario puede ir a 'domain.com',' domain.com/something', 'domain.com/search' y el router se ejecutará la función correcta para hacer que los elementos en la pagina. La interacción con enlaces/botones/pestañas en la página 'app.navigate()' a un segmento de URI diferente. ¿Responde esto a la pregunta sobre el redireccionamiento a 'index.html' para admitir' pushState'? – Nyxynyx
No, no es así. Quiero saber cómo está configurando su servidor para pushState, no es automático. Específicamente necesita configurar su servidor web para que maneje los 404 de otra manera redireccionar a index.html. – tbranyen
Tengo un enrutador en mi framework PHP que verifica si la ruta es válida antes de representar la página que contiene backbone.js. Si la URL no es válida, el enrutador PHP redireccionará a 404. – Nyxynyx