如何在发送xml http请求后打开popup div?

时间:2018-02-27 19:41:33

标签: javascript html ajax xml http

我正在构建一个扩展程序,可以帮助用户更轻松地使用某个网站。 现在我是AJAX,XML和类似的新手,所以这可能很容易问题,但我不确定。

在该网站上,点击一个按钮后,它会发送xmlhttprequest,并在收到一些信息后会打开一个弹出窗口(显示角色统计等,并且有对该角色唯一的按钮)。

现在我编写了与点击按钮后发送到服务器完全相同的xmlhttprequest,但是在获取了要求的信息之后,它没有打开任何东西(这是合乎逻辑的)但是我没有&#39 ;我知道如何打开它。

var request = new XMLHttpRequest(),
    userz = '76561198364912967',
    url = 'https://www.[WEBSITE-NAME].com/api/v1/getuserinfo/?steam_64='+userz,
    data = 'steam_64=76561198364912967',
    token ='OAuth 3539383833353a313a7b66383738626464332d616536612d343132642d626466342d6136313462366164396139317d';

request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
        console.log("The request and response was successful!");
   }
};
request.open('GET', url, true);
request.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=UTF-8');
request.setRequestHeader('authorization', token);
request.send(data);

现在这是代码,我知道它可能不是我要求的这种语言,但我认为它是。

I get same response when clicking on button(that site has) and running my script

This is popup div's html code

This is how div looks

大渐变按钮对于打开div的每个角色都有不同的请求数据(点击之后)。因此它必须与先前的请求有关。

目标不是制作一个什么都不做的弹出窗口,我需要触发创建具有某些功能的div(就像那个网站所做的那样)

干杯!

2 个答案:

答案 0 :(得分:0)

尝试使用:request.responseText

像这样:

var res=request.responseText;//answer from application or server
var elm=document.createElement("div");
elm.innerText=res;
document.body.append(elm);

答案 1 :(得分:0)

如果你想制作弹出窗口,这应该有效:

request.onreadystatechange = function() {
    if (this.readyState == 4 && this.status == 200) {
     let mod=document.createElement("DIV");
      document.body.appendChild(mod),mod.className="modal";
      let con=document.createElement("DIV");
      mod.appendChild(con),con.className="modal-content";
      let c=document.createElement("SPAN");
      c.className="close",
        c.innerHTML="×",
        c.setAttribute("onclick","this.parentNode.parentNode.parentNode.removeChild(this.parentNode.parentNode)"),
        con.appendChild(c);
      let p=document.createElement("P");
      con.appendChild(p),
        p.innerHTML=request.responseText;
   }
};

和一些CSS:

.modal{display:block;position:fixed;z-index:1;left:0;top:0;width:100%;height:100%;overflow:auto;background-color:#000;background-color:rgba(0,0,0,.4)}.modal-content{background-color:#fefefe;margin:15% auto;padding:20px;border:1px solid #888;width:80%}.close{color:#aaa;float:right;font-size:28px;font-weight:700}.close:focus,.close:hover{color:#000;text-decoration:none;cursor:pointer}

Demo