responseiveText возвратил неопределенное значение - PullRequest
0 голосов
/ 15 сентября 2018

Я использую JavaScript Ajax для получения ответа от PHP.В PHP я использовал echo для возврата значения responsiveText в Ajax, однако на console.log я вижу ответ как undefined, и поэтому дальнейшие операции невозможны.

AJAX запрос:

var xmlhttp = new XMLHttpRequest();
var senddata = "c=" + document.getElementById("image_value").value; 
xmlhttp.open("POST", "image_index.php",true);

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
    console.log(xmlhttp.responsiveText);    
    }   
};
xmlhttp.send(senddata);

PHP Файл:

<?php
$im[] = "value1";
$im[] = "value2";
$im[] = "value3";

$i=-1;
if(isset($_POST['i_value'])){
    $i=$_POST['i_value'];
}
if($i==-1){
    $u="NOTHING";
}
else{
    $u=$im[$i];
}
echo "$u";
?>

, где im - массив

1 Ответ

0 голосов
/ 15 сентября 2018

Не волнуйтесь, это просто опечатка.Текст ответа: responseText, а не responsiveText.

Я бы также рекомендовал использовать верблюжий случай для ваших переменных, для хорошей практики программирования.(например, dataToSend вместо senddata) Кроме того, поскольку вы использовали this внутри xmlhttp.onreadystatechange, я бы рекомендовал использовать this для доступа к свойству responseText.Смотрите пример кода, чтобы понять, что я имею в виду.

var xmlhttp = new XMLHttpRequest();
var dataToSend = "c=" + document.getElementById("image_value").value; 
xmlhttp.open("POST", "image_index.php",true);

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");

xmlhttp.onreadystatechange = function() {
  if (this.readyState == 4 && this.status == 200) {
    console.log(this.responseText);    
  }   
};
xmlhttp.send(dataToSend);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...