Javascript 使用XMLHttpRequest对var执行get请求,但也会创建一个回车
在开始之前,我只想说我对javascript非常陌生。 但我正在尝试对URL执行一个GET请求,该请求将返回一个字符串——只是一些非常简单的文本,然后创建一个变量,并使用它为html元素设置属性 这是我的密码: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();
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
属性