0

好吧,这个问题已经足够解释了。

我想做的是从弹出窗口中获取数据,然后关闭我想将检索到的内容发送到 php 控制器进行处理。

但我不想使用 jquery 库,因为它给我造成了冲突。

更新

window.onbeforeunload = confirmExit;
function confirmExit()
{        

    var a = document.getElementsByTagName("div");
    for (i = 0; i < a.length; i++) {           
        if(a[i].className == 'Ymacs-frame-content'){
            var b = a[i].getElementsByTagName("div").innerHTML;             
        //alert(b);
        }             
    }

//Ajax should be here

        window.onbeforeunload = reloadOpener;

        if (top.opener && !top.opener.closed) {
            try {
                opener.location.reload(1); 
            }
            catch(e) {  }
            window.close();
        }
    }
    window.ununload=function() {
        reloadOpener();


}
4

4 回答 4

2

你可以只使用 jquery-less AJAX:

var a = new XMLHttpRequest();
a.open("GET","myscript.php?var=foo&othervar=bar",true);
a.onreadystatechange = function() {
    if( this.readyState == 4) {
        if( this.status == 200) {
            // data sent successfully
            // response is in this.responseText
        }
        else alert("HTTP error "+this.status);
    }
};
a.send();

或者,您可以创建一个iframe标签并将其指向正确的页面。如果需要,您甚至可以创建一个表单并将其发布到框架中。

于 2012-07-11T23:04:53.103 回答
0

您可以在不使用 jQuery 的情况下在 javascript 中执行此操作,因为这就是 jQuery 在后台所做的一切。不过,您需要查看 IE 与其他浏览器相比的不同方式。

于 2012-07-11T23:04:36.403 回答
0

是的,XMLHttpRequest,但是您需要考虑浏览器的差异,jQuery 为您做的。

于 2012-07-11T23:04:40.397 回答
0

我刚刚经历了这个。使用 Javascript 将信息传递给 PHP 的唯一方法是使用 XMLHttpRequest,或者至少如果我没有找到另一种方法。这与 PHP 在服务器端呈现的事实有关,而 Javascript 直到它被提供给客户端之后才会执行……除非你使用 XHR,它是……AJAX。

于 2012-07-11T23:09:43.800 回答