PHP + ajax как исправить ошибку “error the xml response that was returned from server is invalid”?

188
12 апреля 2017, 15:10

Ошибка: error the xml response that was returned from server is invalid

Из-за скрипта, который выполняет переход на новую страницу.

<?php
/**
 * Совещания
 *
 */
define('XAJAX', true);
require_once('../ePortal6/_config.inc');
if (!$app_acl->check('admin'))
    throw new ACLReadException();
$list = new AjaxList('l');
$list->add_column('Дата / Время', '10%');
$list->add_column('Совещание', '20%');
$list->add_column('Тип', '10%', null, 'center');
$list->add_column('Статус', '10%', null, 'center');
$list->add_column('Руководитель', '20%', null, 'center');
$list->add_column('Секретарь', '20%', null, 'center');
$list->add_column('Место', '10%', null, 'center');
$list->default_orderby = 'm.ds desc';
$list->state['rows'] = 20;
    if ( $app_acl->check('journal') ) {
        $list->add_action('print', 'Печать');
        $list->action_callback = 'action_callback';
    }
$layout = new SearchListLayout();
    $layout->DataArea_content = $list->__toString();
    $layout->show_search_dialog = false;
    $layout->add_action('Расширенный поиск', "javascript:open_div_dialog('search_meet.php?objid=0', {callback_code:'AjaxList_command_l(null, null);'}); void(0);");
    $layout->add_action('Печать', 'print.php');

$nav = new  StandardNavigator(new NavigatorItem('НИИ', '/index.php'),
        new NavigatorItem('Совещания', '/monitoring/niimeet_list.php'));

$xajax->processRequest();           
echo html_start($nav) . $layout . html_end();
function app_html_head() {
?>
<script type="text/javascript">
$(document).ready(function() {
    $('#filterl').focus();
});
</script>
<?php
}           

function AjaxList_callback_l(AjaxList $list, $req)
{
    if (empty($_COOKIE['sql_update_meet'])) 
    {
        $sql = "select
                m.id,
                m.title,
                mt.title as meet_type,
                ms.title as meet_status,
                (select CONCAT(fullname, IF(username IS NULL, '', CONCAT(' (', username, ')'))) from niistaff ns where ns.id = m.boss) as boss,
                (select CONCAT(fullname, IF(username IS NULL, '', CONCAT(' (', username, ')'))) from niistaff ns where ns.id = m.clerk) as clerk,
                m.room,
                m.ds
            from meetings m
            join meet_type mt
            on mt.id = m.meet_type
            join meet_status ms
            on ms.id = m.meet_status
            where m.deleted = 0 ";  
    }
    else 
        $sql = $_COOKIE['sql_update_meet'];
    $sd_text = $list->filter();
    $sd_text_esc = db::escape_string($sd_text);
    if (!empty($sd_text_esc)) {
    $sql .= "and m.title like '%{$sd_text_esc}%'" . $list->order_by() . $list->limits();
    }       
    $rows = db_select_all($sql);
    echo $list->start();
    foreach ($rows as $row) {
        echo $list->row_start($row['id']);
        echo $list->column($row['ds']);
        echo $list->column_start();
        echo html_tag('a', array('href' => 'javascript:open_div_dialog(\'meeting_view.php?objid=' . $row['id'] . '\', {callback_code:\'AjaxList_command_l(null, null);\'}); void(0);'), $row['title']);
        echo $list->column_end();
        echo $list->column($row['meet_type']);
        echo $list->column($row['meet_status']);
        echo $list->column($row['boss']);
        echo $list->column($row['clerk']);
        echo $list->column($row['room']);
    }
    echo $list->footer();
    echo $list->end();
}

function action_callback($action, $checkboxes, $objResponse, $list, $req) {
    global $app_acl;
    if (! $app_acl->check('staff'))
        throw new ACLUpdateException();

    if ($action == 'print') {       
        setcookie("checkboxes", serialize($checkboxes), time() + 600);
        echo '<script type="text/javascript">
        window.location = "print.php"
        </script>';
    }
}
?>

А это то, куда по идее должен перенаправлять:

<?php
require_once('../ePortal6/_config.inc');
$checkboxes = unserialize($_COOKIE['checkboxes']);
$sql = "select
                m.id,
                m.title,
                mt.title as meet_type,
                ms.title as meet_status,
                (select CONCAT(fullname, IF(username IS NULL, '', CONCAT(' (', username, ')'))) from niistaff ns where ns.id = m.boss) as boss,
                (select CONCAT(fullname, IF(username IS NULL, '', CONCAT(' (', username, ')'))) from niistaff ns where ns.id = m.clerk) as clerk,
                m.room,
                m.ds
            from meetings m
            join meet_type mt
            on mt.id = m.meet_type
            join meet_status ms
            on ms.id = m.meet_status
            where m.deleted = 0";               
  if ($checkboxes!=0) {
    $sql .= " and m.id IN (";
    foreach($checkboxes as $ch) {
            $ch = intval($ch);
            $sql .= $ch . ",";  
        }   
    $sql = substr($sql, 0, -1) . ")";   
  }
  $rows = db_select_all($sql);  
?>
<table border="1">
         <col width="10%">
         <col width="20%">
         <col width="15%">
         <col width="15%">
         <col width="15%">
         <col width="15%">
         <col width="10%">
<?php
echo "<tr>
    <th>Дата/время</th>
    <th>Тема совещания</th>
    <th>Тип совещания</th>
    <th>Статус</th>
    <th>Председатель</th>
    <th>Секретарь</th>
    <th>Место проведения</th>
</tr>";
foreach ($rows as $row) {
echo "
<tr>
    <td>".$row['ds']."</td> 
    <td>".$row['title']."</td>  
    <td>".$row['meet_type']."</td>
    <td>".$row['meet_status']."</td>
    <td>".$row['boss']."</td>   
    <td>".$row['clerk']."</td>  
    <td>".$row['room']."</td>   
</tr>";
}
?>
</table>
<input class="button" type="submit" value="Печать" onclick="style.display='none';javascript: window.print();"></input>
READ ALSO
Не работает while в цикле for

Не работает while в цикле for

День добрый, необходимо получить n уникальных значений из массива в определённом порядке есть код

225
Запустить ReactJS приложение локально

Запустить ReactJS приложение локально

Можно ли запустить скомпилированное приложение на reactjs в локальной папке, без запуска вебпак сервера? Написал простенькое одностраничное...

330
Помогите переписать REST запрос с jquery на vue-resource

Помогите переписать REST запрос с jquery на vue-resource

Есть такой кусок кода на jquery с постом на сервер:

252
vue модальное окно ошибка с props

vue модальное окно ошибка с props

Vue компонент модального окнаПри вызове метода savePos

374