XMLHttpRequest不喜欢我的JSON?

时间:2015-08-26 16:06:18

标签: javascript php json xmlhttprequest

我创建了一个非常简单的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那么好?

0 个答案:

没有答案