在 iframe 中使用 ajax 调用时未定义 xhttp

Posted

技术标签:

【中文标题】在 iframe 中使用 ajax 调用时未定义 xhttp【英文标题】:xhttp is not defined when using ajax calls into an iframe 【发布时间】:2016-05-27 21:36:13 【问题描述】:

大家好,我正在开发一个 php 页面,其中有一个 iframe,它会打开另一个带有复选框的 php 页面,当用户单击复选框时,第二个页面必须进行 ajax 调用确认“点击”。

所以有pageA.php,其中有一个指向pageB.php的iframe,在这个中,只有一个带有复选框和javascript(vanilla javascript)的表单,点击时会调用第三页.

这是我用来发送“点击”的 javascript:

document.getElementById("checkboxMe").onclick = function() 
    xhttp.open("POST", "pageC.php", true);
    xhttp.send("foo=bar");  
    ;

点击复选框时,这是我在控制台上看到的:

Uncaught ReferenceError: xhttp is not defined

从来没有发生过这样的事情,事实上我在谷歌上很难找到这个错误,有人有线索吗? 也许是我进入 iframe 的事实? 我该如何解决这个问题?

提前谢谢大家。

【问题讨论】:

那么你在哪里定义xhttp 你是对的,我是个笨蛋:O 【参考方案1】:

xhttp 不是内置浏览器。如果您自己不定义它,那么它将不会被定义。框架与该问题无关。

也许你打算先:

var xhttp = new XMLHttpRequest();

【讨论】:

哦...你是对的...我正在睡觉...太容易了!谢谢

以上是关于在 iframe 中使用 ajax 调用时未定义 xhttp的主要内容,如果未能解决你的问题,请参考以下文章

在 Panel 中使用渲染时未调用 Primefaces Ajax 侦听器

React - 使用外部 URL 时未定义地图功能

如何在调用 servlet 后使用 ajax 在 iframe 中显示 PDF

ajax 调用在我的 facebook iframe 中返回 null

IFRAME 中的 AJAX 调用

如何根据 iframe 中 AJAX 调用的完成来运行函数