Javascript 如何创建标签';从服务器接收响应时,是否会动态更改?

Javascript 如何创建标签';从服务器接收响应时,是否会动态更改?,javascript,Javascript,我正在使用谷歌分析api 我使用的代码仅更改了客户端ID 当我请求一个google服务器时,它会在底部向我返回一个JSON文件 { "kind": "analytics#gaData", "id": "in here my ID", "query": { "start-date": "30daysAgo", //monthly statistic "end-date": "today", //last day today "ids": "ga:17242723

我正在使用谷歌分析api

我使用的代码仅更改了客户端ID

当我请求一个google服务器时,它会在底部向我返回一个JSON文件

{
  "kind": "analytics#gaData",
  "id": "in here my ID",
  "query": {
    "start-date": "30daysAgo", //monthly statistic
    "end-date": "today", //last day today
    "ids": "ga:172427234",
    "dimensions": "ga:country", //regions
    "metrics": [
      "ga:users" //users
    ],
    "start-index": 1,
    "max-results": 1000
  },
  "itemsPerPage": 1000,
  "totalResults": 7,
  "selfLink": "there some link",
  "profileInfo": {
    "profileId": "172427234",
    "accountId": "116539423",
    "webPropertyId": "UA-116539423-1",
    "internalWebPropertyId": "172991088",
    "profileName": "any info for website",
    "tableId": "ga:172427234"
  },
  "containsSampledData": false,
  "columnHeaders": [
    {
      "name": "ga:country",
      "columnType": "DIMENSION",
      "dataType": "STRING"
    },
    {
      "name": "ga:users",
      "columnType": "METRIC",
      "dataType": "INTEGER"
    }
  ],
  "totalsForAllResults": {
    "ga:users": "43523" //all users count which were in site
  },
  "rows": [ // regions from which they came to the site and how much user-entered from each region
    [
      "Dubai",
      "28961"
    ],
    [
      "Germany",
      "1400"
    ],
    [
      "Netherlands",
      "111"
    ],
    [
      "Poland",
      "10"
    ],
    [
      "Russia",
      "1021"
    ],
    [
      "Ukraine",
      "28"
    ],
    [
      "United States",
      "11992"
    ]
  ]
} 
问题是,正如你所看到的,有几个国家,每个国家有多少用户

我需要在收到服务器响应时动态创建标记。国家可以是10、100或1000,因此我需要在收到数据时动态创建标记。我在底部使用这段代码,但问题是它只显示第一个国家和用户。(它只工作一次)迪拜,28961

在第一次国家/地区控制台显示错误后,
无法设置未定义的属性“innerHTML”

顺便说一下,这个代码是有效的(显示德国,1400)

但我不能使用它,因为它不是动态的。我只是不能复制它并更改变量国家/地区中提供的值

我提供了我从顶部链接的
querycorerereportingapi
函数更改的代码段

.then(function(response) {
    let users = JSON.parse(response.result.totalsForAllResults["ga:users"]);
    var country = response.result.rows;
    var toAdd = document.createDocumentFragment();
    console.log(country.length);
     while (country.length > 0) {
          for(let i = 0;i < country.length;i++){
              var span = document.createElement('span');
              span.className = "country-users";
              document.querySelector('.google-text-block').appendChild(span);
              document.querySelector('.google-text-block').appendChild(document.createElement('br'));

              for (let j = 0; j < country.length; j++) {

              let countryUsers = document.querySelectorAll(".country-users");
              countryUsers[j].innerHTML = country[i];

            }
          }
        }
.then(函数(响应){
让users=JSON.parse(response.result.totalsForAllResults[“ga:users”]);
var country=response.result.rows;
var toAdd=document.createDocumentFragment();
控制台.日志(国家/地区.长度);
而(国家/地区长度>0){
for(设i=0;i
还有我从google文件中修改的一点点HTML

<div class="google-text-block">
      <span class="users-numb">Users:</span>
      <span class="numb"></span>
  </div>

用户:

请任何人帮忙看,这是你应该做的

对于
循环,不需要内部

var信息=[
[
“迪拜”,
"28961"
],
[
“德国”,
"1400"
],
[
“荷兰”,
"111"
],
[
“波兰”,
"10"
],
[
“俄罗斯”,
"1021"
],
[
“乌克兰”,
"28"
],
[
“美国”,
"11992"
]
];
var国家=信息;
for(设i=0;i

用户:


非常感谢:)+1来自me@Spectr我已经用你的代码更新了答案,你的代码出了什么问题。
<div class="google-text-block">
      <span class="users-numb">Users:</span>
      <span class="numb"></span>
  </div>