有人可以解释xml是什么吗?

时间:2018-08-26 19:16:16

标签: javascript html xhtml

Sheshank S.最近告诉我了我的问题的解决方案。我认为这是理所当然的,不知道这意味着什么。有人可以向我解释所有这些吗? 我看过各种不同类型的教程(网站,视频等),但是没有一个可以解释这的含义:

    xmlhttp.open('GET', 'https://api.scratch.mit.edu/users/oreyelephant', true);

并且:

console.log(response["profile"]["bio"])

我要这样做的原因是要制作一个模拟器,以告诉您特定的tweet或包含某些内容的评论。在上面的代码中,由于所有网站的类和ID的名称都不相同,因此我想用用户名替换["profile"]["bio"]

现在我有了这个

var username = prompt("Username Bio?");
    const xmlhttp = new XMLHttpRequest();
    xmlhttp.open('GET', 'https://api.github.com/' + username, true);
    xmlhttp.send();
    xmlhttp.onreadystatechange = function() {
        if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
            var response = JSON.parse(xmlhttp.responseText);
            console.log(response.username);
        }

        if  (xmlhttp.status == 404) {
            console.log("ERROR 404: File not found")
        }
    };

它仍然显示此错误:

My error

2 个答案:

答案 0 :(得分:1)

问题名称指出“有人可以解释 xml 是什么”

标记包括标记 xhtml

基于我对上一个问题的回答的问题内容基于 XMLHttpRequests

这三个是三个不同的东西。我假设您想要有关 XMLHttpRequests

的详细信息

在这种情况下,它取自[https://api.scratch.mit.edu/users/oreyelephant][1]

中的文本

[1]:https://api.scratch.mit.edu/users/oreyelephant,并在response.text

中获取

然后,您需要对其进行JSON.parse()才能从文本中解析出Javascript对象。然后,您可以像使用普通对象response.username response.id等一样访问值。

答案 1 :(得分:0)

基本上,您的代码将下载https://api.scratch.mit.edu/users/oreyelephant中的所有内容。当前是这个JSON:

{
    "id": 14457076,
    "username": "oreyelephant",
    "history": {
        "joined": "2016-01-18T18:34:50.000Z"
    },
    "profile": {
        "id": 13622297,
        "images": {
            "90x90": "https://cdn2.scratch.mit.edu/get_image/user/14457076_90x90.png?v=",
            "60x60": "https://cdn2.scratch.mit.edu/get_image/user/14457076_60x60.png?v=",
            "55x55": "https://cdn2.scratch.mit.edu/get_image/user/14457076_55x55.png?v=",
            "50x50": "https://cdn2.scratch.mit.edu/get_image/user/14457076_50x50.png?v=",
            "32x32": "https://cdn2.scratch.mit.edu/get_image/user/14457076_32x32.png?v="
        },
        "status": "ATTENTION: I now do art. It is a 200-follower special. :D\n\nNext vector art: 2 days\nI'm trying to release these kinds of things weekly.",
        "bio": "IMPORTANT-ish: Please check out @fight99 He/she uses Scratch in a creative ways that I've never seen!\n\nMale | 12 | Bryan\nJust your average middle-schooler trying to get by. You can call me Bryan. :D",
        "country": "United States"
    }
}

然后使用JSON.parse解析此JSON。结果是一个Javascript对象。 response["profile"]["bio"]response.profile.bio相同,并且基本上在profile下的bio对象下获取内容。然后将其打印到控制台(with console.log)。

因此这将被打印到控制台:

  

重要提示:请查看@ fight99他/她以我从未见过的创造性方式使用Scratch!\ n \ n男| 12 |布赖恩\ n只是您的普通中学生都在努力度过。你可以叫我布莱恩。 :D

您可以使用do console.log(response.username)代替console.log(response["profile"]["bio"])来打印用户名。