Запрос AJAX не работает при передаче строки

объяснение

У меня есть следующий код на PHP, который позволяет пользователю выбрать имя из раскрывающегося списка, а затем передать это имя как строку в функцию JavaScript:

<?php include('./db.php'); $PM = mysqli_query($con, "SELECT DISTINCT PMName FROM report WHERE PMname <> '' ORDER BY PMName ASC"); ?> <select class="navbar-inverse" placeholder="PM Name" name="PMName" onchange="showUser(this.value)"> <?php while ($row = mysqli_fetch_row($PM)) { $selected = array_key_exists('PMName', $_POST) && $_POST['PMName'] == $row[0] ? ' selected' : ''; printf(" <option value='%s' %s>%s</option>\n", $row[0], $selected, $row[0]); } ?> 

Затем функция JavaScript считывает строку:

 function showUser(str) { if (str !==".PM") { if (str=="") { document.getElementById("txtHint").innerHTML=""; return; } } $("#txtHint").load( "getuser.php?q="+str ); console.log(str); } 

и предполагается разместить вывод getuser.php?q=John%Doe в txtHint DIV.

вопрос

значение str не будет APPEAR полностью переходить в $("#txtHint").load( "getuser.php?q="+str ); строка кода.

Когда я смотрю на консоль, я вижу следующее после срабатывания функции JavaScript:

 HR finished loading: GET "http://localhost/getuser.php?q=John" John Doe 

Если я изменяю код, чтобы читать только $("#txtHint").load( "getuser.php?q="); , (без передачи переменной str ), он отлично работает и загружает страницу getuser.php в DIV (конечно, без имени я не получаю никакой информации, но она работает …)

Что я здесь делаю неправильно? Если console.log(str) выводит John Doe , то, очевидно, вся строка – John Doe , поэтому почему моя консоль выводит ?q=John ? и заставить getuser.php не загружаться в DIV?

Я очень смущен здесь …

Solutions Collecting From Web of "Запрос AJAX не работает при передаче строки"