我创建了一个非常简单的php程序,它从数据库获取数据并构造一个php数组,然后将其转换为json:
$i = 0;
while($row = mysqli_fetch_array($result)) {
$output[$i] = array();
$output[$i]["tag"] = $row["tag"];
$output[$i]["desc"] = htmlspecialchars($row["desc"]);
if ($row["content"] != "") {
$output[$i]["content"] = $row["content"];
}
if ($row["href"] != NULL) {
$output[$i]["params"]["href"] = $row["href"];
}
$i++;
}
header('Content-Type: application/json; charset=utf-8');
echo json_encode($output, JSON_FORCE_OBJECT);
我希望在codepen中使用它,链接在这里:http://codepen.io/mrcarter7/pen/pJMxzr
在这个codepen中我有以下javascript(来自这里的教程:https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest):
function reqListener () {
console.log(this.responseText);
console.log(this.status);
}
var url = "http://millenix.com/api/html";
// tutorial url: https://api.github.com/repos/mozilla/kuma/contributors
var oReq = new XMLHttpRequest();
oReq.addEventListener('load', reqListener);
oReq.open("get", url, true);
oReq.send();
我想将它映射到javascript对象以供javascript中的以下逻辑使用,但遇到了问题,所以我想我会保持简单,只是尝试让它在控制台中输出并且你如果你用上面链接的教程中的URL替换url变量值(抱歉我还不能发布两个以上的链接),它会工作正常!
我的php / json有问题吗?或者是否有另一种方法从外部源获取json并将其存储为要处理的本地javascript对象。
BONUS:另外,为什么我的json格式不像教程的json那么好?