我的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对象。想法?
答案 0 :(得分:0)
您是否安装了网络服务器(如apache或nginx)? “它将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);
}
});
}