繁体   English   中英

无法在使用 php 和 ajax 的页面上显示 json 数据

[英]Cant display json data on the page using php and ajax

我创建了一个生成 json 数据的 php 文件。 如下所示,但它似乎没有返回任何数据。

当我尝试获取 data.status 时,我得到一个未定义的错误。 它似乎连接到文件没问题,因为以前我编写了一个警报,它拖回了所有数据,但我似乎无法获得特定值。

下面我试图检索状态:好的值。

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";
// }
?>

你只需要更新你的 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');
            }   
        }
});

因为您需要解析从 php 文件返回的 json

我假设您的 ajax api 调用工作正常,并且返回正确,因为数据类型是 json,所以 if 语句应该可以正常工作,但是 if 语句 if(status =='t 变量的引用可以") 它应该是 data.status 如果它没有在其他地方声明然后类型错误将被抛出......

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM