【问题标题】:Working with JSON via GET requests in Javascript在 Javascript 中通过 GET 请求使用 JSON
【发布时间】:2013-08-14 15:42:05
【问题描述】:

我已经构建了一个在 json 输出中提供数据的 php API,我需要通过 get 请求获取值,然后在页面上绘制为图形。

前端 Web 组件托管在与此基本结构中的 api 相同的服务器上:

  • index.php
  • graph.php
  • /api/
  • /api/src
  • /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

【问题讨论】:

    标签: javascript jquery rest get


    【解决方案1】:
    1. 您不能使用数字作为标识符,要访问1 属性,您必须说[1] 而不是.1
    2. 您必须使用包含您的数据的变量,而不是 x,直到您尝试将其分配到某处才被提及
    3. Ajax 中的 A 代表异步。您必须在回调中处理您的数据,因为在 HTTP 响应到达之前不会调用您传递给 getJson 的函数,但以 document.get 开头的行将在 HTTP 响应后立即运行请求已发送。

    【讨论】:

    • 我尝试了上述方法,但仍然没有。查看通过 Wireshark 传输的数据包,是否从未向相关的 GET url 发送任何获取请求?即使在 .getJson grab.kfouwels.com/pmgW 中有一个空函数 { }
    • 没有,这很奇怪
    猜你喜欢
    • 2020-08-06
    • 2016-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-12
    • 2021-02-17
    • 2011-11-04
    • 1970-01-01
    相关资源
    最近更新 更多