XMLHttpRequest()。send(value)发送空值

XMLTHttpRequest.send() is sending blank values to PHP file. I been trying to debug this but had no luck.

What could be going wrong?

I done a php echo testing below, and im always getting value test2 with nothing else.

AJAX

  function subCatActivation(i) {
       // var selectedBox = document.getElementById("Cat" + i);
        var val = "test";
        var hr = new XMLHttpRequest();
        var url = "parse_receive_select.php";
        hr.open("POST", url, true);

        hr.setRequestHeader("Content-type", "application/x-www-form-urlendcoded");

        hr.onreadystatechange = function () {
            if (hr.readyState == 4 && hr.status == 200) {
                var return_data = hr.responseText;
                //document.getElementById("sub_cat").innerHTML = return_data;
                alert(return_data);
            }
        }
        hr.send("v="+val);
    }

PHP

if(isset($_POST['v'])){
    echo ($_POST['v']. " test1");
}else if($_POST['v'] == ''){
    echo ($_POST['v'] . " test2");
}else{
    echo ($_POST['v'] . " test3");
}

You have a simple typo:

hr.setRequestHeader("Content-type", "application/x-www-form-urlendcoded");

urlendcoded should be urlencoded.