Я использую Symfony 1.4 и пытаюсь разбить на страницы результаты поиска с помощью вызовов Ajax, но у меня возникают трудности.
Мой ajax-вызов сделан для действия (executeGetList), где я передаю параметр страницы.Вот как я выполняю вызов ajax:
var url = "<?php echo url_for("genre/getList"); ?>";
function loadPage(page)
{
$.ajax({
url: url+"?page="+page,
type: 'POST',
dataType: 'html',
timeout: 4000,
beforeSend: function(){
$('#loading').show();
},
complete: function(){
$('#loading').hide();
},
error: function(xhr, textStatus, errorThrown){
msg = "Error " + errorThrown;
alert(msg);
},
success: function(data){
$("#datasongs").load(data, "", function(response, status, xhr) {
alert ("status is: " + status);
});
}
});
}
executeGetList
извлекает некоторые данные, устанавливает пейджер (sfDoctrinePager) и возвращает частичный рендер:функция обратного вызова success
, я получаю отправленные данные, и это именно то, что я хочу.Однако, когда я выполняю функцию .load()
jquery, я получаю ошибку 404.
Ошибка вызвана тем, что Symfony пытается найти маршрут, который начинается с HTML, сгенерированного вызовом ajax.Возвращаемые данные начинаются с
<table><thead><tr
Журналы Symfony:
Oct 28 23:32:05 symfony [info] {sfWebResponse} Send status "HTTP/1.1 200 OK"
Oct 28 23:32:05 symfony [info] {sfWebResponse} Send header "Content-Type: text/html; charset=utf-8"
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} Configuration 12.69 ms (8)
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} Factories 58.78 ms (1)
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} Action "genre/getList" 705.05 ms (1)
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} Database (Doctrine) 0.18 ms (24)
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} Partial "song/_listSongSearchLite" 222.21 ms (1)
Oct 28 23:32:05 symfony [info] {sfWebDebugLogger} View "None" for "genre/getList" 0.02 ms (1)
Oct 28 23:32:05 symfony [info] {sfWebResponse} Send content (8801 o)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "sf_guard_signin" (/guard/login)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "sf_guard_signout" (/guard/logout)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "apply" (/user/new)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "reset" (/user/password-reset)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "resetRequest" (/user/reset-request)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "resetCancel" (/user/reset-cancel)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "validate" (/user/confirm/:validate)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Connect sfRoute "settings" (/user/settings)
Oct 28 23:32:07 symfony [info] {sfPatternRouting} Match route "default_index" (/:module) for /<table><thead><tr with parameters array ( 'module' => '<table><thead><tr', 'action' => 'index',)
Oct 28 23:32:08 symfony [info] {sfFrontWebController} Action "tabletheadtr/index" does not exist
Oct 28 23:32:08 symfony [err] {sfError404Exception} Action "tabletheadtr/index" does not exist.
Oct 28 23:32:08 symfony [info] {sfWebResponse} Send status "HTTP/1.1 404 Not Found"
Oct 28 23:32:08 symfony [info] {sfWebResponse} Send header "Content-Type: text/html; charset=utf-8"
Oct 28 23:32:08 symfony [info] {sfWebDebugLogger} Configuration 8.27 ms (5)
Oct 28 23:32:08 symfony [info] {sfWebDebugLogger} Factories 63.62 ms (1)
Любая помощь будет оценена.