Хеш роутинг JS
Здравствуйте!
Подскажите как реализовать такое: В адресной строке: http://site.ru/#/search/?q=test&cat_id=5 или http://site.ru/#/page/?name=test Т.е роутинг по хешу и последущая загрузка контента через AJAX ? Наверняка уже есть готовые решения, что лучше использовать? Спасибо за внимание ! |
о да.. вот целая "куча"
|
melky, спасибо, то что нужно !
И ещё вопрос: у меня данные приходят в json, наверное лучше будет использовать какой-нибудь js шаблонизатор для вывода данных ? |
можно испльзовать какой-нибудь код для управления роутером ^_^
|
я остановился на https://github.com/kulikov/route-js
если делать примерно так:
Route.map('#/search/:name').to(function() {
$.ajax({
type: 'GET',
url: '/search',
data: {
'name' : this._getParam('name')
},
success: function(msg){
$('#content').html('');
$.each(msg.data, function (i, row) {
tmpl = '<div class="row">';
tmpl += '<div class="title">'+row.title+'</div>';
tmpl += '<div class="body">'+row.text+'</div>';
tmpl += '</div>';
$('#content').append(tmpl);
});
}
});
});
правильно будет или можно лучше ? |
только из цикла операции с DOM уберите.
success: function(msg){
$('content').empty();
*!*
var a = $();
*/!*
$.each(msg.data, function (i, row) {
tmpl = '<div class="row">';
tmpl += '<div class="title">'+row.title+'</div>';
tmpl += '<div class="body">'+row.text+'</div>';
tmpl += '</div>';
*!*
a.append( tmpl )
*/!*
});
*!*
$('content').append(a);
*/!*
}
|
melky ок, спасибо!
|
melky, хм не получается добавить DOM элемент в #content $('#content').append(a);, хотя по идеи всё правильно, в чём может быть проблема !?
|
var a = $();это что за безобразие? |
bayrach,
success: function(msg){
$('#content').empty();
var tmpl = '';
$.each(msg.data, function (i, row) {
tmpl += '<div class="row">';
tmpl += '<div class="title">'+row.title+'</div>';
tmpl += '<div class="body">'+row.text+'</div>';
tmpl += '</div>';
});
$('#content').append( tmpl );
}
Может так ? |
| Часовой пояс GMT +3, время: 22:27. |