Ссылка запускает XMLHttpRequest - PullRequest
3 голосов
/ 20 апреля 2019

Я сделал простой запрос XMLHttpRequest, который работает, отправляет запрос и т. Д. Как в школах W3.

  var xhttp = new XMLHttpRequest();
  xhttp.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
    document.getElementById("demox").innerHTML = this.responseText;
    }
  };

  xhttp.open("POST", "textx.php", true);
  xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
  xhttp.send("fname=" + textxx);
}

Проблема начинается, когда я пытаюсь инициировать запрос, щелкая ссылку, которая отправляет меня в файл php, который обрабатывает запрос. На моем нынешнем уровне мне трудно понять, почему он не работает, поскольку он работал с простыми формами и тому подобным.

Я получаю:

"Notice: Undefined index: fname ..."

Итак, я предполагаю, что это означает, что переменная не была отправлена. Может кто-нибудь объяснить? Или есть способ отладки вещей, которые отправляются с одной страницы на другую. Все, что я нашел, это отладчик в chrome, который действительно захватывает запросы, но не имеет реального использования, так как меня отправляют на страницу textx.php, и все потеряно.

Ответы [ 2 ]

0 голосов
/ 09 мая 2019

В любом случае, я все еще не уверен, но я загрузил свою страницу (код) на хост-сервер, и код сработал.PHP не показывал никаких предупреждений, и все прошло как запланировано.Кажется, проблема связана с работой локального сервера (WAMP).Изменение версии PHP не помогло.Возможно, мне нужно немного глубже в этом разобраться.

0 голосов
/ 20 апреля 2019

Не совсем уверен, где может быть ваша проблема, возможно, попробуйте:

var xhttp = new XMLHttpRequest();
    xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhttp.open("POST", "textx.php", true);
    xhttp.onreadystatechange = function() {
    if (this.readyState === 4){
        if(this.status===200 || this.status===0){
            document.getElementById("demox").innerHTML = this.responseText;
        }
    };

    var fname = "fname=" + textxx;
    xhttp.send(fname);
}

Вы можете console.log(xhttp); и посмотреть пошаговый профиль и выяснить, где может быть проблема.

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