Значение возвращается как Undefined

Я использую jquery datatables для отображения результатов в таблице, а затем передачи идентификатора в качестве параметра URL, мы можем отображать информацию о конкретной записи для пользователя.

Пока это работает нормально.

Однако меня попросили передать второй параметр url, называемый пользователем, и это создает проблемы.

Когда я запускаю код, он больше не отображает страницу сведений.

Просмотрев код с помощью firebug, я обнаружил ошибку, которая гласит:

john is undefined .

john.doe – это значение, отображаемое на URL-адресе, которое выглядит следующим образом:

 http://mylink.com/viewDetails.php?ID=1235&userName=john.doe 

Любые идеи, что я делаю неправильно?

 return "<a target='tab' data-tab-name='#RequestDetails' data-tab-index='2' href='viewDetails.php?rID=" + oObj.aData["ID"] + "&userName=" + <?php echo $user; ?> + "'> " + oObj.aData["ID"] + " </a>"; 

Ваш код выглядит так после анализа PHP:

<a target='tab' data-tab-name='#RequestDetails' data-tab-index='2' href='viewDetails.php?rID=" + oObj.aData["ID"] + "&userName=" + john + "'> " + oObj.aData["ID"] + " </a>

Это означает, что он ищет переменную john , которая, как вы видите, не определена.

Это должно быть так:

<a target='tab' data-tab-name='#RequestDetails' data-tab-index='2' href='viewDetails.php?rID=" + oObj.aData["ID"] + "&userName=<?php echo $user?>'> " + oObj.aData["ID"] + " </a>

Вам нужно только кавычки вокруг элемента php, так как он просто выписывает значение самого себя на страницу. Таким образом, он становится строкой.

 return "<a target='tab' data-tab-name='#RequestDetails' data-tab-index='2' href='viewDetails.php?rID=" + oObj.aData["ID"] + "&userName=" + "<?php echo $user; ?>" + "'> " + oObj.aData["ID"] + " </a>"; 

Лучше всего это …

 return "<a target='tab' data-tab-name='#RequestDetails' data-tab-index='2' href='viewDetails.php?rID=" + oObj.aData["ID"] + "&userName=<?php echo $user; ?>'> " + oObj.aData["ID"] + " </a>";