передача переменной javascript в PHP с помощью xmlhttprequest

У меня есть проблема Проводка переменной javascript в файл php. Пожалуйста, кто-нибудь скажет мне, что происходит?

// Get Cookies var getCookies = document.cookie; cookiearray = getCookies.split(';'); SelectedIds = cookiearray[0]; //take key value pair name = cookiearray[0].split('=')[0]; value = cookiearray[0].split('=')[1]; // The variable(values) i want to pass // Create our XMLHttpRequest object var hr = new XMLHttpRequest(); hr.open("POST", url, true); var url = "page.php"; hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); hr.onreadystatechange = function() { if(hr.readyState == 4 && hr.status == 200) { var return_data = hr.responseText; document.getElementById("Comp").innerHTML = return_data; } } hr.send(value); // Request - Send this variable to PHP document.getElementById("Comp").innerHTML = "loading..."; 

PHP

  $test = $_POST['value']; print_r($test); // NULL 

благодаря

Related of "передача переменной javascript в PHP с помощью xmlhttprequest"

Вместо

  print_r($test); 

использовать эхо

  echo $test; 

Поскольку $test не является массивом, это строковое значение. print_r используется для печати массива. поэтому дается нулевое значение.

И ваша функция отправки в ajax должна быть такой:

 hr.send("value="+value); 

В функции send передаваемый параметр должен быть такой:

 "name=value&anothername="+encodeURIComponent(myVar)+"&so=on" 

Больше учебника здесь.