【发布时间】:2020-09-10 10:32:50
【问题描述】:
我正在尝试创建一个应用程序,该应用程序可以从私有 JSON dns 服务器访问 iframe 内的不同站点。
我已经完成了主要代码,但现在我正在尝试使其能够通过 url 访问。 (Ex. https://thissite.info?url='test.json'&dnsserver='https://thissite.info')
如果变量未在 url 中定义,我还希望它默认为一个值。为此,我使用以下代码:
function setup(){
var dns = document.getElementById("dns");
var urlbar = document.getElementById("urlbar");
var frame = document.getElementById("viewport");
if (typeof url === "undefined") {
url = 'Welcome Page URL Here';
} else {
urlbar.value = url;
}
if (typeof dnsserver === "undefined") {
dnsserver = 'Default Server Here';
} else {
dns.value = dnsserver;
}
var xmlhttp = new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
console.log(this.status)
if(this.readyState == 4 && this.status == 200){
var response = JSON.parse(this.responseText);
frame.src=response;
console.log("Request Completed with 200");
};
if(this.readyState == 4 && this.status == 404){
console.log("Website Not Found");
frame.src='404.html'
};
}
xmlhttp.open("GET",dnsserver + url + '.json', true);
xmlhttp.send();
console.log("Request Sent");
}
但即使我在 URL 中传递 vars,它也不接受它。
【问题讨论】:
-
尝试在 url 中使用 ` `。阅读 js 中的模板文字。
标签: javascript json https