Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从html获取php生成的json_Javascript_Php_Jquery_Html_Ajax - Fatal编程技术网

Javascript 从html获取php生成的json

Javascript 从html获取php生成的json,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我在html文件中有一个表单,它将数据发送到php文件。该php文件从数据库中进行选择,将结果转换为json文件并将其发送回html文件 我想知道如何从php获取json;我确实得到了回复(从“检查”菜单中的“网络”选项卡),但我不知道如何得到它(用它来回音/提醒/制作图表)。提前谢谢 这是我发送数据的代码: <script type="text/javascript"> $( function() { $( ".datepicker" ).datepicke

我在html文件中有一个表单,它将数据发送到php文件。该php文件从数据库中进行选择,将结果转换为json文件并将其发送回html文件

我想知道如何从php获取json;我确实得到了回复(从“检查”菜单中的“网络”选项卡),但我不知道如何得到它(用它来回音/提醒/制作图表)。提前谢谢

这是我发送数据的代码:

<script type="text/javascript">
    $( function() {
        $( ".datepicker" ).datepicker({
            minDate: new Date(2015, 8 - 1, 25),
            maxDate: "0"
        });
    });

$(function () {
    // On form's submit, takes both input's values...
    $('form').on('submit', function (e) {
        var from = $("#from").val();
        var to = $("#to").val();
        // ...to compare them and displays an error if "to" is smaller than "from"
        if(Date.parse(from) > Date.parse(to)){
            alert("Invalid Date Range");
        }
        else{
            e.preventDefault();
            $.ajax({
                type: 'post',
                url: 'classes/Select.php',
                data: $('form').serialize(),
                success: function () {
                    alert('data sent');
                }
            });
        }
    });
});
</script>

在javascript ajax调用代码中,您可能有一个success:key。尝试:

success: function(data) { console.log(data); }

在javascript ajax调用代码中,您可能有一个success:key。尝试:

success: function(data) { console.log(data); }

如果您获得一个JSON字符串,请使用JSON_decode($JSON)并获得所需的值:

$json = '{"key-example": 12345}';

$obj = json_decode($json);
print $obj->{'key-example'}; // 12345

如果您获得一个JSON字符串,请使用JSON_decode($JSON)并获得所需的值:

$json = '{"key-example": 12345}';

$obj = json_decode($json);
print $obj->{'key-example'}; // 12345

由于您在php中使用的是循环,因此在循环完成后,使用
json_encode
返回结果,创建一个数组来保存结果

$results = [];
while ($arr = $query->fetch(PDO::FETCH_ASSOC)) {
    $results[] = $arr;
}
echo json_encode($results);
然后在javascript中

    $.ajax({
       type: 'post',
       url: 'classes/Select.php',
       data: $('form').serialize(),
       success: function(data) {
           var results = JSON.parse(data); // convert the results to json
           console.log(results);
       }
   });

由于您在php中使用的是循环,因此在循环完成后,使用
json_encode
返回结果,创建一个数组来保存结果

$results = [];
while ($arr = $query->fetch(PDO::FETCH_ASSOC)) {
    $results[] = $arr;
}
echo json_encode($results);
然后在javascript中

    $.ajax({
       type: 'post',
       url: 'classes/Select.php',
       data: $('form').serialize(),
       success: function(data) {
           var results = JSON.parse(data); // convert the results to json
           console.log(results);
       }
   });


您是否尝试过使用json_encode()?你能在这里写你的代码吗?你需要向我们展示你的情况的示例代码。添加了一些代码,很抱歉没有包含它!您是否尝试过使用json_encode()?你能在这里写你的代码吗?你需要向我们展示你的情况的示例代码。添加了一些代码,很抱歉没有包含它!我已经做了,事情在html端,我不知道如何获得php生成的json。使用:json.parse(data)将响应数据转换为json后,进行ajax调用并打印响应数据。我已经做了,事情在html端,我不知道如何获得php生成的json。使用:json.parse(data)Nope将响应数据转换为json后,进行ajax调用并打印响应数据,不起作用。它记录的是我发送的数据,而不是我收到的数据。您在帖子中的代码成功了:括号中没有“数据”的function()无效。它记录的是我发送的数据,而不是我收到的数据。您在帖子中的代码成功了:括号中没有“数据”的function()可以工作!这可能是一个愚蠢的问题,但为什么我必须更改我的php代码?仅从json文件中生成对象?@Newwt,以便数据可以与javascript和php兼容。别忘了把它标记为答案,它很有效!这可能是一个愚蠢的问题,但为什么我必须更改我的php代码?仅从json文件中生成对象?@Newwt,以便数据可以与javascript和php兼容。别忘了把它标为答案。