Получать POST-запрос в PHP от OpenLayers JavaScript - PullRequest
2 голосов
/ 31 октября 2011

У меня проблемы с получением POST-запроса на PHP. Я использую JavaScript для отправки данных на страницу PHP с запросом POST. JavaScript взят из OpenLayers.js, и часть, которая отправляет запрос, выглядит следующим образом:

var postrequest = OpenLayers.Request.POST({
        url: "http://localhost/index.php",
        data: "success",
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        }
    });

В PHP я использую этот код, чтобы увидеть, что я получаю:

<?php
    print_r($_POST);
?>

Вот что происходит:

  1. index.php получает запрос POST.
  2. FireBug также сообщает, что параметры POST содержат «Успех», тот, который был отправлен.
  3. print_r ($ _ POST); в index.php просто дает это: array () и не изменяется после запроса POST из JavaScript.

Итак, данные отправляются и принимаются, но мой PHP-код как-то этого не понимает, или я не использую правильную функцию PHP.

Есть предложения, где искать и что попробовать?

Ответы [ 2 ]

5 голосов
/ 31 октября 2011

Я думаю, что свойство "data" должно быть объектом, содержащим пары ключ / значение.

например:

var postrequest = OpenLayers.Request.POST({
        url: "http://localhost/index.php",
        data: {
          userName: "myUsername",
          password: "myPassword"
        },
        headers: {
            "Content-Type": "application/x-www-form-urlencoded"
        }
    });

Если это работает, когда вы печатаете_r ($ _ POST), вам следуетсм. массив ("userName" => "myUsername", "password" => "myPassword")

0 голосов
/ 04 февраля 2013

Полагаю, вам нужно включить библиотеку XMLHttpRequest.js, скачать ее можно по этой ссылке

https://github.com/ilinsky/xmlhttprequest

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...