这个问题足以说明是否可以做到。
我想要做的是从弹出窗口获取数据并关闭我想将检索到的内容发送到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();
}
答案 0 :(得分:2)
你可以使用无jquery的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
标记并将其指向右侧页面。您甚至可以创建表单并在需要时将其发布到框架中。
答案 1 :(得分:0)
你可以在不使用jQuery的情况下在javascript中完成它,因为这是jQuery在后台所做的全部工作。不过,您需要了解IE与其他浏览器相比的不同方式。
答案 2 :(得分:0)
是的,XMLHttpRequest,但您需要考虑浏览器的差异,jQuery为您做的。
答案 3 :(得分:0)
我刚刚经历过这个。使用Javascript将信息传递给PHP的唯一方法是使用XMLHttpRequest,或者至少如果有其他方法我没有找到它。这与PHP在服务器端呈现的事实有关,并且Javascript在被提供给客户端之后才会被执行...除非您使用的是XHR,即... AJAX。