繁体   English   中英

没有XMLHttpRequest的Javascript Ajax

[英]Javascript Ajax without XMLHttpRequest

通常我们使用XMLHttpRequest对象来处理使用Javascript的ajax请求。 有没有一种方法可以在不使用XMLHttpRequest对象的情况下将ajax与Javascript一起使用。 例如,在页面加载时,我需要使用没有XMLHttpRequest对象的JavaScript来命中URL并获取响应并对其进行操作。

Fetch APIXMLHttpRequest一种可能替代方法:

Fetch API提供了用于获取资源(包括通过网络)的接口。 对于使用XMLHttpRequest任何人来说似乎都很熟悉,但是新的API提供了更强大,更灵活的功能集。

您可以使用香草Javascript Fetch API

您可以尝试创建隐藏的iframe,但必须注意以下几点相同来源策略。

这是隐藏的iframe的外观:

<script language="JavaScript" type="text/javascript">

function alertBobo(alertText) {
  alert(alertText);
}

ifrm = document.createElement("IFRAME");
ifrm.setAttribute("src", "/iframe.html");
ifrm.setAttribute("id","myIframe");
ifrm.setAttribute("style","display:none");
ifrm.style.width = 0+"px";
ifrm.style.height = 0+"px";
document.body.appendChild(ifrm);
</script>

然后从iframe.html (如果您正在执行XMLHttpRequest,则将使用Ajax调用的URL),但实际上并非如此,我们正在创建隐藏的iframe。

您可以从父级调用函数并像这样传输数据:

<script language="JavaScript" type="text/javascript">
  parent.alertBobo("Iframe Calling");
</script>

然后,您会收到“ iframe调用”文本的提示...

您还可以例如将JSON传输到父窗口。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM