我只是进入HTML / JavaScript,向大家提出一个问题。
我正在尝试让我的主页从Web服务器中拉出该站点的标题。如果我转到127.0.0.1/?q=name
,它将返回,仅说“ Foo”。页面上只有明文“ Foo”。
我希望我的网站在加载时动态地将其拉出。这是我使用iFrame尝试过的脚本,但似乎可以移动所有内容。我在想这个吗?
<h1>Welcome to
<iframe src="http://127.0.0.1:8080/?q=name" name="targetframe" allowTransparency="true" scrolling="no" frameborder="0"></iframe>
</h1>
Thank you for visiting !
谢谢!!!
答案 0 :(得分:1)
如果您试图从同一个域中获取纯文本信息,则iframe听起来可能有点过头了-您可以考虑改用普通的网络请求,并在响应时填充标准元素(例如<span>
回来:
<h1>
Welcome to <span id="name-span"></span>
</h1>
使用JS:
fetch('http://127.0.0.1:8080/?q=name')
.then(res => res.text())
.then((textResponse) => {
document.querySelector('#name-span').textContent = textResponse;
});
要以这种方式填充多个项目,您可以考虑改用数组,例如:
const qs = ['name', 'age'];
qs.forEach((q) => {
fetch('http://127.0.0.1:8080/?q=' + q)
.then(res => res.text())
.then((textResponse) => {
document.querySelector('#' + q + '-span').textContent = textResponse;
});
});
请注意,如果您要获取的信息位于同一域中,则fetch
可以正常工作-否则,您必须像使用的那样使用有点笨拙的iframe
,或将请求从服务器退回,否则会遇到CORS问题。
答案 1 :(得分:0)
TL; DR
您不能仅从for $langs in subsequence($g:collection.customers//lang[.=$deletelang],1,30000)
访问外部资源,出于安全原因而进行了此限制。
可能的解决方案
您已经使用过Javascript
,所以我假设您知道iframe
。
您可以尝试使用JSONP,但是在那种情况下,您也需要在服务器端实现此概念,以便能够提供the CORS policy
参数。
如果请求是在同一个域中提出的,则您可以只使用callback
的任何时间
例如,可以借助XMLHttpRequest
来完成。
JQuery