Sara
Sara

Reputation: 39

php / Javascript / Ajax loading content does not work

I'm trying to load content from a php file which name is "include.php" to a in another php file which name is "index.php". But the loading does not work. The code is as below:

The file: index.php

<header>
<script type="text/javascript">
    function load(){
        if (window.XMLHttpRequest) {
            xmlhttp = new XMLHttpRequest();
        }else{
            xmlhttp = new ActiveXObject('Microsoft.XMLHTTP');
        }

        xmlhttp.onreadystatechage = function (){
            if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
                document.getElementById(adiv).innerHTML = xmlhttp.responseText;
            }
       }

        xmlhttp.open('GET', 'include.php', true);
        xmlhttp.send();
    }

    </script>
</head>
<body>
    <input type="submit" value="Submit" onclick="load();">
    <div id="adiv"></div>
</body>

The File: include.php

<?php
    echo 'Hello!';
?>

Thanks.

Upvotes: 0

Views: 63

Answers (3)

Michael Christensen
Michael Christensen

Reputation: 195

If what you are doing is the way you describe then this is simpler:

<header>
<?php include("include.php") ?>
</head>
<body>
    <input type="submit" value="Submit" onclick="load();">
    <div id="adiv"></div>
</body>

If you want to get result from include.php into JavaScript then you'll probably be better using ajax.

By the way, if you are planning a "universal header" for all your PHP files, you don't need to echo it just write it as normal HTML with any necessary PHP tags

Upvotes: 1

Kirs Sudh
Kirs Sudh

Reputation: 298

....xmlhttp.onreadystatechage = function (){ if(xmlhttp.readyState == 4 && xmlhttp.st...

Check the spelling onReadyStateChange.

Upvotes: 0

Nitesh Kumar Anand
Nitesh Kumar Anand

Reputation: 621

Should it not be document.getElementById("adiv").innerHTML = xmlhttp.responseText;? Notice the quotes.

Upvotes: 0

Related Questions