2014-09-29 3 views
1

Так что я обычай Внедренная система одной страницы, как так:PHP JS - Вызов include_once из JS

index.php

<?php 
    include_once('header.php'); 
    if(empty($_SESSION['loggedin'])) { 
     include_once("views/logged_out_index.php"); 
    } 



    include_once("footer.php"); 
?> 

просмотров/logged_out_index.php содержит некоторые HTML, что составляет стр.

Таким образом, на кнопку мыши, я запускаю функцию JS, как так

function showView(view) { 
    document.body.innerHTML=''; 
} 

А теперь я хотел бы include_once другой файл представления в тело, так как include_once("views/logged_out_index.php"); делает, и отображает эту страницу

ответ

0

Используйте AJAX, включите его динамически в PHP и эхом всю страницу. Затем вы добавляете результат к вашему innerHTML.

FILE: retrieve_page.php

<?php 
    readfile($_GET['page']); 
?> 

Javascript:

function loadXMLDoc() 
{ 
var xmlhttp; 
if (window.XMLHttpRequest) 
    {// code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp=new XMLHttpRequest(); 
    } 
else 
    {// code for IE6, IE5 
    xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 
xmlhttp.onreadystatechange=function() 
    { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) 
    { 
    document.body.innerHTML=xmlhttp.responseText; 
    } 
    } 
xmlhttp.open("GET","retrieve_page?page=yourpage",true); 
xmlhttp.send(); 
} 

И вы измените "yourpage" с тем, что страница, которую вы хотите включить это.

Лично я предлагаю использовать jQuery или аналогичный для вызова AJAX. Если вы хотите знать, как это сделать, прокомментируйте ниже.

Cheers

Смежные вопросы