Может быть, этот скрипт устарел, но я хочу знать, как решить эту проблему. я получаю Notice: Undefined index:
уведомление / ошибка, когда страница запрашивает ajax-вызов. Все работает, только это уведомление / ошибка беспокоит меня. Может быть, я спрашиваю это неправильно, но как это исправить?
PHP
<?php
if($_GET['type']!='ajax'){
include 'header.php';
echo "<div id='result-content'>";
}
?>
content goes here
<?php
if($_GET['type']!='ajax'){
echo "</div>";
include 'footer.php';
}
?>
JS
$.thisproblem = $.thisproblem || {};
$.thisproblem.loadContent = function () {
$('.ajax-loader').show();
$.ajax({
url: pageUrl + '?type=ajax',
success: function (data) {
$('#result-content').html(data);
$('.ajax-loader').hide();
}
});
if (pageUrl != window.location) {
window.history.pushState({path: pageUrl}, '', pageUrl);
}
}
$("a").on('click', function (e) {
pageUrl = $(this).attr('href');
$.thisproblem.loadContent();
e.preventDefault();
});
Извините за плохой английский и спасибо за любые ответы.
поскольку ?type
установлен только / используется в вашем $.ajax()
URL, вы хотите использовать !isset()
проверить, установлен ли он, прежде чем пытаться проверить его значение
<?php
if( !isset($_GET['type']) || $_GET['type']!='ajax'){
include 'header.php';
echo "<div id='result-content'>";
}
?>
content goes here
<?php
if( !isset($_GET['type']) || $_GET['type']!='ajax'){
echo "</div>";
include 'footer.php';
}
?>
УВЕДОМЛЕНИЕ Неопределенный индекс возникает, когда индекс не установлен, и вы пытаетесь его использовать.
Например, $ _GET [‘type’] не будет установлено в вашем случае. Итак, сначала вам нужно проверить, установлен он или нет. Так что вы можете сделать
If (isset ($ _GET [‘type’]) || $ _GET [‘type’]! = ‘Yourvalue’) {