как использовать метод post объекта xmlhttprequest для отправки данных - PullRequest
1 голос
/ 12 июля 2011

Я хочу отправить данные, которые находятся в переменной сценария java, на сервер. Переменная находится в методе, который выполняется, когда я нажимаю кнопку на веб-сайте. В этом методе написан код для отправки данных.

    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.open("POST","new_map.php",true);
xmlhttp.send(cur_entry_string);

и вот код, написанный в файле new_map.php для получения данных. Здесь cur_entry_string - это переменная, которая содержит эти данные.

$ massage = $ _POST [cur_entry_string];

но это не работает ..: (... Я использую затмение.

Ответы [ 3 ]

0 голосов
/ 12 июля 2011

Может быть, вам стоит взглянуть на учебник по AJAX http://www.w3schools.com/ajax/default.asp, и если это не то, что вы хотите сделать, вы также можете заглянуть в JSON

0 голосов
/ 12 июля 2011

Попробуйте установить заголовок запроса на: xmlhttp.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded'); (после вызова .open и перед вызовом .send.

0 голосов
/ 12 июля 2011

Вам необходимо сгенерировать правильную строку запроса.Строка запроса в POST выглядит так же, как строка GET.

Примерно так должно работать:

xmlhttp.send('cur_entry_string=' + cur_entry_string);

Я бы порекомендовал использовать библиотеку, такую ​​как jQuery, для использования Ajax, так как это значительно упрощает процесс, поэтому вам не нужно делать ошибкутакие вещи, как строки запроса, сами.


пс.обратите внимание, что при использовании PHP вы должны заключать строковые индексы в кавычки:

$_POST['cur_entry_string']
...