简体   繁体   中英

Passing value from JavaScript to PHP using AJAX

I'm trying to pass value to PHP code using AJAX.

Javascript

function countop() {
    var href = window.location.href;
    var href2 = href.split('/', 7);
    xmlhttp.open('GET', '/count.php?val_for_count='+href2[6], true);
    xmlhttp.send();
};

PHP

$x = $_GET['val_for_count'];
echo $x;

I don't get $x printed and I don't know why.

You have to create a new instance of XMLHttpRequest before using it:
var xmlhttp = new XMLHttpRequest();

And if you want to print the result of your request in your document, you can do it like this:

xmlhttp.onreadystatechange = function() {
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
        document.body.innerHTML = xmlhttp.responseText;
    }
}; 

You have two problems.

First, xmlhttp is never declared, so your code throws a reference error.

var xmlhttp = new XMLHttpRequest();

Second, you never look at the HTTP response!

xmlhttp.addEventListener("load", function (event) {
    document.body.appendChild(
        document.createTextNode(
            this.responseText
        )
    );
});

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM