У меня есть следующий код, генерирующий контент на моем сайте:
<div class="content" id="links">
<?php displayTitle("Links"); ?>
<?php displayContent("Links", $isLoggedIn); ?>
</div>
В контенте есть кнопка, которая вызывает функцию Javascript 'addLink ()' для самостоятельного редактирования. Вот Javascript с Ajax-вызовом для изменения содержимого:
function addLink(){
var ajaxRequest; // The variable that makes Ajax possible!
if(window.XMLHttpRequest){
ajaxRequest = new XMLHttpRequest();
}
else{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}
ajaxRequest.onreadystatechange = function(){
alert(ajaxRequest.readyState);
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('links');
ajaxDisplay.innerHTML = "<?php displayTitle('Links'); ?><?php displayContent('Links', $isLoggedIn); ?>"
}
}
var imgURL = document.getElementById('links_img').value;
var linkURL = document.getElementById('links_link').value;
var queryString = "?imgURL=" + imgURL + "&linkURL=" + linkURL;
ajaxRequest.open("GET", "addLink.php" + queryString, true);
ajaxRequest.send(null);
}
addLink.php добавляет объекты в таблицу, теоретически позволяя функции содержимого displayContent () отображать новые записи в таблице (displayContent () запрашивает таблицу).
Вызов PHP работает нормально, но мне нужно обновить страницу, чтобы увидеть изменения.
Есть ли какая-то проблема с тем, как я это делаю? Возможно, потому что во внутреннем HTML уже есть вызовы PHP, когда страница загружается в первую очередь?
Любая помощь приветствуется, я немного новичок в Ajax.