使用AJAX从PHP脚本获取JSON数据

时间:2013-12-09 19:38:48

标签: javascript php jquery ajax json

我的PHP脚本'getNews.php'(当我在终端中运行并返回正确的数据时有效)如下:

<?php
header('Content-Type: application/json');

$db = new PDO('mysql:host=hostname;dbname=table', 'name', 'password');

$sql = "SELECT * from `news` ORDER BY date";
$result = $db->query($sql);

echo json_encode($result->fetchAll(PDO::FETCH_ASSOC));
?>

在我的Javascript中(我加载了JQuery),我试图以下列方式提取这些数据:

$(document).ready(function() {
    $.getJSON("getNews.php", function(data) {
        console.log(data);
    });
});

什么也没做。当我将其更改为:

$(document).ready(function() {
    $.get("getNews.php", function(data) {
        console.log(data);
    });
});

它将php脚本的整个文本写入控制台。基本上,它似乎根本不执行PHP脚本或检索json对象。想法?

2 个答案:

答案 0 :(得分:0)

您是否安装了网络服务器(如)? “它将php脚本的整个文本写入控制台。” =您没有调用PHP处理器。您是在加载file:///something,还是通过http://something

如果您使用的是HTTP,请确保您的Web服务器知道处理PHP文件。这通常涉及编辑.ini或.cfg文件;我无法分辨哪个,因为您没有提到您正在使用的Web服务器。

答案 1 :(得分:0)

  

它将php脚本的整个文本写入控制台

可能是您的服务器没有安装/配置php。如果不是这样,那么看看这是否适合你

function prsJSN() {
    $.ajax({
        type: "get",
        url: "getNews.php",
        success: function(json) {
            var dataArray = jQuery.parseJSON(json);
        },
        error: function(request, status, error) {
            alert(request.responseText);
        }
    });
}