我构建了一个以 json 输出形式提供数据的 php API,我需要通过 get 请求获取值,然后在页面上绘制为图形。
在此基本结构中,前端 Web 组件托管在与 api 相同的服务器上:
- index.php
- 图表.php
- /API/
- /api/源
- /api/src/api.php
我目前在graph.php中的代码如下:
<script>
var myJson;
$.getJson('api/src/api.php/poll/results/current/13/', function(jd){
myJson = jd.AnswerCount.1;
});
document.getElementById('jsonhere').innerHTML = myJson; //just to test
</script>
端点输出如下数据:
{"AnswerCount":{"1":5,"3":1,"2":2,"4":1,"5":5,"6":3,"7":2}}
我需要将其加载到键值对数组中,
1:5
3:1
2:2
4:1
...
然后被放入图形库。
如何修复我的代码/编写新代码来执行此操作?我被困在这里了。
编辑:
凭直觉,我通过 wireshark 记录了所有 get 请求,但从未向相关 url 发送任何请求。即使是空函数 {} ? http://grab.kfouwels.com/pmgW
最佳答案
- 您不能使用数字作为标识符,要访问
1
属性,您必须说[1]
而不是.1
- 您必须使用包含您的数据的变量,而不是
x
,直到您尝试将其分配到某个地方才被提及 - Ajax 中的 A 代表异步。您必须在您的回调中处理您的数据,因为您传递给
getJson
的函数将不会被调用,直到HTTP 响应到达但行开始于document。 get
将在发送 HTTP 请求后立即运行。
关于javascript - 在 Javascript 中通过 GET 请求处理 JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18236249/