Я пытаюсь получить приведенный ниже сценарий AJAX для передачи раскрывающегося идентификатора в PHP для запуска запроса, однако не похоже, что переменная фактически передается. Когда я жестко кодирую файл PHP, запрос выполняется правильно, но когда я пытаюсь сделать это динамически, запрос возвращает «undefined» или вообще ничего.

Код AJAX

function ajax_post(){
var request = new XMLHttpRequest();
var id = document.getElementById("editorginfo").value;
      alert (id);
request.open("POST", "parse.php", true);
request.setRequestHeader("Content-Type", "x-www-form-urlencoded");
request.onreadystatechange = function () {
    if(request.readyState == 4 && request.status == 200) {
        var return_data = request.responseText;
        alert (return_data);
        document.getElementById("orgeditname").value = return_data;
        document.getElementById("orgeditphone").value = return_data;    
    }
}

request.send("id="+id);
}

Код синтаксического анализа PHP

<?php
include_once('../php_includes/db_connect.php');

$searchid = $_POST['id'];

//$searchid = 1;

$sql = 'SELECT * FROM orginfo WHERE id = $searchid';

$user_query = mysqli_query($db_connect, $sql) or die("Error: ".mysqli_error($db_connect));

while ($row = mysqli_fetch_array($user_query, MYSQLI_ASSOC)) {

$orgid = $row["id"];

 $orgname = $row["orgname"];

 $orgphone = $row["orgphone"];

 echo $orgname, $orgphone;

}
?>

Не совсем уверен, где теряется информация. Когда я предупреждаю идентификатор, он собирает правильную информацию, поэтому я предполагаю, что проблема в моей части отправки, но я не могу понять, что я делаю не так. Любая помощь будет оценена.

Заранее спасибо.

-2
PHaeLiX 5 Фев 2014 в 19:05

1 ответ

Лучший ответ

Заголовок вашего запроса неверен. Измените эту строку -

request.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
                                          ^^^^^^^^^^^^
1
Kamehameha 5 Фев 2014 в 19:20