Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用XMLHttpRequest对var执行get请求,但也会创建一个回车_Javascript_Dom_Xmlhttprequest - Fatal编程技术网

Javascript 使用XMLHttpRequest对var执行get请求,但也会创建一个回车

Javascript 使用XMLHttpRequest对var执行get请求,但也会创建一个回车,javascript,dom,xmlhttprequest,Javascript,Dom,Xmlhttprequest,在开始之前,我只想说我对javascript非常陌生。 但我正在尝试对URL执行一个GET请求,该请求将返回一个字符串——只是一些非常简单的文本,然后创建一个变量,并使用它为html元素设置属性 这是我的密码: var vendor; var HttpClient = function() { this.get = function(aUrl, aCallback) { var anHttpRequest = new XMLHttpRequest();

在开始之前,我只想说我对javascript非常陌生。 但我正在尝试对URL执行一个GET请求,该请求将返回一个字符串——只是一些非常简单的文本,然后创建一个变量,并使用它为html元素设置属性

这是我的密码:

    var vendor;
var HttpClient = function() {
    this.get = function(aUrl, aCallback) {
        var anHttpRequest = new XMLHttpRequest();
        anHttpRequest.onreadystatechange = function() { 
            if (anHttpRequest.readyState == 4 && anHttpRequest.status == 200)
                aCallback(anHttpRequest.responseText);
        }

        anHttpRequest.open( "GET", aUrl, true );            
        anHttpRequest.send( null );
    }
}
var client = new HttpClient();
client.get('http://my.example.com/file.txt', function(response) {
    mydata = response;
    document.querySelector(".btn").setAttribute("onclick", "window.open('https://" + mydata + ".example.com')");

});
我希望在mydata变量中使用“file.txt”的内容,然后使用setAttribute更改onclick属性

它确实会返回响应,但会向其添加一个回车符,当使用chrome javascript控制台显示“mydata”时,它会返回:

"thetext
"
所以一个回车符在“thetext”之后

我的setAttribute将最终看起来像:

<button class="btn btn-outline-dark btn-lg" onclick="window.open('https://textfromfile
.example.com')" ;="" type="button" name="buttonname">mybutton</button>
mybutton

所以在“textfromfile”之后有一个回车符。

我假设回车符也存在于TXT文件中,所以它当然也会被返回

但是,您可以使用以下方法轻松地将其剥离:

mydata=response.trim()
(请注意,这也会删除尾随空格。)


另一方面,与其像那样设置
onclick
,不如设置一个属性,并使用一个引用该属性的静态单击处理程序。或者更好,因为您似乎正在使用引导:您可以使用带有
的常规链接,使用
target=“\u blank”
在新窗口中打开链接,然后只需从代码中设置
href
属性