JSON успех не вызывает - PullRequest
0 голосов
/ 10 июня 2019

У меня проблемы с полезной нагрузкой JSON.Функция успеха не срабатывает.

Заранее благодарим за любую помощь, которая может быть оказана.JLS

Я получаю значение в консоли, поэтому я знаю, что запрос работает нормально, но он не находится в паре ключ / значение, он просто отображает "VALUE" и не вызывает успех.

//JS file ***UPDATED***

    $(document).ready(function(){
// code to get all records from table via select box
        $("#school").change(function() {
            var id = $(this).find(":selected").val();
            var dataString = 'school='+ id;
            $.ajax({
                url: 'cif_submit.php',
                dataType: "json",
                data: dataString,
                cache: false,
                success: function(data) {
                    if(data) {
                        alert(data);
                    }
                }
            });
        })
    });
//Here is the php  ***UPDATED***

if($_REQUEST['school']) {

$stmt = $conn->prepare("SELECT streetname FROM schoolinfo WHERE fullschoolname = :schoolname");
$stmt->execute (array(':schoolname' =>$_REQUEST['school']));

while($mydata = $stmt->fetch()) {   

    echo json_encode($mydata);  
} }
}

The JSON RESPONSE is:
{"streetname":"Colbeck Road, PO Bag 7200","0":"Colbeck Road, PO Bag 7200"}

Ответы [ 2 ]

0 голосов
/ 10 июня 2019

Не забывайте, что событие change() вызывается, когда вы не фокусируете ввод.https://api.jquery.com/change/

Пробовал с этим кодом и отлично работал.

JS

<!DOCTYPE html>
<html lang="en" dir="ltr">
<head>
    <meta charset="utf-8">
    <title></title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.0/jquery.min.js"></script>
</head>
<body>
<input id="school" type="text">
<script>
    $(document).ready(function(){
// code to get all records from table via select box
        $("#school").change(function() {
            var id = $(this).find(":selected").val();
            var dataString = 'school='+ id;
            $.ajax({
                url: 'a.php',
                dataType: "json",
                data: dataString,
                cache: false,
                success: function(schooldata) {
                    if(schooldata) {
                        alert('success');
//$("#streetname").text(schooldata.streetname);  TRIED THIS NO JOY
//$("#streetname").hide(); TRIED THIS NO JOY
                    }
                }
            });
        })
    });
</script>
</body>
</html>

PHP

if($_REQUEST['school']) {
    $datas = array();
    $datas[] = array('streetname' => 'test');
    foreach ($datas as $data) {
        $data = $data['streetname'];
        //$streetname = trim(json_encode($data), '"');
        //echo json_encode($data);
        echo json_encode($data, true);
    }
}

Alert

0 голосов
/ 10 июня 2019

Я думаю, что изменение schooldata на данные решит проблему.

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