2017-07-14 52 views
0

我试图将alert(allText);的内容记录到另一台服务器上,例如www.otherwebsite/logger?log = allText(),而不是alert msg,这是当前弹出的内容。如何使用XMLHttpRequest()将内容转发到日志服务器?

换句话说,我如何使用XMLHttpRequest产生另一个请求到日志服务器,信息为allText

我目前使用这个脚本加载的内容,但我不知道如何与allText

<script> 
    function readTextFile(file) 
    { 
     var rawFile = new XMLHttpRequest(); 
     rawFile.open("GET", file, false); 
     rawFile.onreadystatechange = function() 
     { 
      if(rawFile.readyState === 4) 
      { 
       if(rawFile.status === 200 || rawFile.status == 0) 
       { 
        var allText = rawFile.responseText; 
        alert(allText); 
       } 
      } 
     } 
     rawFile.send(null); 
    } 

    readTextFile("http://null.jsbin.com/runner"); 

</script> 

为了测试,我跑与jsbin脚本生成另一个请求到我的日志服务器。 com

任何意见和建议将不胜感激。

回答

1

使嵌套后调用API来要发布的数据:

<script> 
    function readTextFile(file) 
    { 
     var rawFile = new XMLHttpRequest(); 
     rawFile.open("GET", file, false); 
     rawFile.onreadystatechange = function() 
     { 
      if(rawFile.readyState === 4) 
      { 
       if(rawFile.status === 200 || rawFile.status == 0) 
       { 
        var allText = rawFile.responseText; 
        var xhr = new XMLHttpRequest(); 
        xhr.open("POST", '/server', true); 

        //Send the proper header information along with the request 
        xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); 

        xhr.onreadystatechange = function() { 
        //Call a function when the state changes. 
         if(xhr.readyState == XMLHttpRequest.DONE && xhr.status == 200) { 
         // Request finished. Do processing here. 
         } 
        } 
        xhr.send(allText); 
       } 
      } 
     } 
     rawFile.send(null); 
    } 

    readTextFile("http://null.jsbin.com/runner"); 

</script> 
+0

感谢。这是我正在寻找的。使用POST更好。 – pancho

相关问题