验证php条件后打开多个窗口
我有文件1.html:验证php条件后打开多个窗口,php,javascript,windows,ajax,Php,Javascript,Windows,Ajax,我有文件1.html: ..... <script src="/libs/jquery-1.3.1.min.js" type="text/javascript"></script> <script type="text/javascript"> var url0='{$url0}'; var url1='{$url1}'; var url2='{$url2}'; var url3='{$url3}'; va
.....
<script src="/libs/jquery-1.3.1.min.js" type="text/javascript"></script>
<script type="text/javascript">
var url0='{$url0}';
var url1='{$url1}';
var url2='{$url2}';
var url3='{$url3}';
var OPEN_ON = false;
openurls= function(){
if(confirm('Opens all?') && OPEN_ON == false){
OPEN_ON = true;
$.ajax({<br/>
type: "POST",
url: "a1.php",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
success = true;
},
error: function(msg) {
}
})
if(success) {
window.open(url0)
window.open(url1)
window.open(url2)
window.open(url3)
}
setTimeout("location.reload(true);",3000)
OPEN_ON = false
}
return false
}
。。。。。
var url0='{$url0}';
var url1='{$url1}';
var url2='{$url2}';
var url3='{$url3}';
var OPEN_ON=false;
openurl=function(){
if(确认('Opens all')和&OPEN_ON==false){
OPEN_ON=true;
$.ajax({
类型:“POST”,
url:“a1.php”,
资料来源:jsonData,
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
成功=真实;
},
错误:函数(msg){
}
})
如果(成功){
window.open(url0)
window.open(url1)
window.open(url2)
window.open(url3)
}
setTimeout(“location.reload(true);”,3000)
打开=错误
}
返回错误
}
问题是:如何将url0、url1、url2和url3发送到文件a1.php,并在检查一些条件后将它们发送回那里。
在此处输入代码
您只需将这些window.open()
调用放在“success:”回调函数中即可
现在,一旦你这样做了,你会发现新窗口实际上并没有打开。浏览器将阻止它们,因为它们看起来像激进的弹出式广告。因为那些window.open
调用发生在用户直接发起的事件(如单击按钮)之外的上下文中,它们将被阻止。也就是说,您的“成功”功能应该是这样的:
$.ajax({<br/>
type: "POST",
url: "a1.php",
data: { url0: url0, url1: url1, url2: url2, url3: url3 },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
window.open(url0);
window.open(url1);
window.open(url2);
window.open(url3);
},
error: function(msg) {
}
})
$.ajax({
类型:“POST”,
url:“a1.php”,
数据:{url0:url0,url1:url1,url2:url2,url3:url3},
contentType:“应用程序/json;字符集=utf-8”,
数据类型:“json”,
成功:功能(msg){
window.open(url0);
窗口打开(url1);
窗口打开(url2);
窗口打开(url3);
},
错误:函数(msg){
}
})
这将在调用
window.open()
时“起作用”,但它不会“起作用”,因为实际上不会得到弹出窗口。您必须确保用户活动(某个地方的“单击”)使窗口打开,而不是XMLHttpRequest状态更改。@user505848…欢迎使用SO。。。编辑器窗口顶部有一个漂亮的按钮,上面有1和0。此按钮允许您选择代码,然后单击按钮,它将为您格式化代码。另外,对于代码块,您只需在前面加4个空格我如何将url0、url1、url2和url3发送到文件a1.php,并在检查一些条件后将它们发送回。您必须将它们作为参数发送到ajax调用。现在你正在发送“jsonData”;我不知道那是什么,但这就是你要添加参数的地方。我是AJAX的新手。如何将url0、url1、url2和url3发送到文件a1.php,并在检查一些条件后将它们发送回那里;再加上它们。