Не могу отобразить данные JSON на странице, используя PHP и AJAX - PullRequest
0 голосов
/ 25 сентября 2019

Я создал файл php, который генерирует данные json.Как показано ниже, но, похоже, он не возвращает никаких данных.

Когда я пытаюсь получить data.status, я получаю неопределенную ошибку.Кажется, он подключается к файлу без проблем, так как ранее я закодировал предупреждение, которое перетаскивает все данные, но я не могу получить определенное значение.

Ниже я пытаюсь получить статус: значение ok.

Данные Json:

{"status":"ok","Results":{"SiteId":"1","SiteCode":"RWP50","DateCreated":"2019-09-25 09:14:23","DateClosed":null}}

Код Ajax

$('#ddlsite').change(function () {
    var SiteCode = $('#ddlsite').val();
    alert(SiteCode);

    $.ajax({
                type: 'GET', 
                url: 'GetSites.php',
                datatype: 'json',
                contentType: "application/json; charset=utf-8",
                success:function(data){ 
                alert(data.status);
                if(status == "ok"){
                alert('It Worked'); 
            }else{
            alert('It Failed');
        }   
    }
});
}); 

Файл PHP

<?php
// if(!empty($_POST['SiteCode'])){
    $data = array();

// Create connection
include 'connecting_test.php'; 
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 

// sql to delete a record
$sql = "SELECT * FROM Site";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
    // output data of each row
    // while($row = $result->fetch_assoc()) {
        $SiteData = $result->fetch_assoc();
        $data['status'] = 'ok';
        $data['Results'] = $SiteData;
    // }
} else {
    echo "0 results";
}

echo json_encode($data);

$conn->close();
// }else {
    // echo "hello";
// }
?>

Ответы [ 2 ]

0 голосов
/ 25 сентября 2019

вам просто нужно обновить ваш ajax

$.ajax({
        type: 'GET', 
        url: 'xhr.php',
        datatype: 'json',
        contentType: "application/json; charset=utf-8",
        success:function(data){ 
            data = JSON.parse(data);
            if(data.status == "ok"){
                alert('It Worked'); 
            }
            else{
                alert('It Failed');
            }   
        }
});

, потому что вам нужно проанализировать json, которые возвращаются из php файла

0 голосов
/ 25 сентября 2019

Я предполагаю, что ваш вызов API ajax работает нормально и возвращается правильно, так как тип данных - json, поэтому предупреждение должно работать отлично, но оператор if if (status == "ok") не может найти ссылку на переменнуюстатус.Это должен быть data.status, если он не объявлен где-то еще, тогда будет выдана ошибка типа ...

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