Heim  >  Artikel  >  Web-Frontend  >  So richten Sie eine Ajax-Anfrage so ein, dass sofort nach Erfolg ein neues Fenster geöffnet wird

So richten Sie eine Ajax-Anfrage so ein, dass sofort nach Erfolg ein neues Fenster geöffnet wird

php中世界最好的语言
php中世界最好的语言Original
2018-04-03 17:35:292252Durchsuche

Dieses Mal zeige ich Ihnen, wie Sie die Ajax-Anfrage so einrichten, dass sofort nach erfolgreicher Anfrage ein neues Fenster geöffnet wird. Welche Vorsichtsmaßnahmen gibt es, um die Ajax-Anfrage so einzurichten, dass sofort ein neues Fenster geöffnet wird? Nach dem Erfolg sehen wir uns einen praktischen Fall an.

Ohne weitere Umschweife lautet der Schlüsselcode wie folgt:

jQuery.ajax({
"type":"post",
"url":"http://www.baidu.com", 
"success":function(rel){
if(rel.isSuccess){ 
window.open(rel.url,"_blank");
}
}
});

Nach erfolgreicher URL-Anfrage wird window.open(rel.url,"_blank"); durchsucht werden Der Server fängt ab und kann kein neues Fenster öffnen. Wenn Sie window.open() außerhalb von Ajax platzieren, wird das Problem wie folgt gelöst:

var result="";
jQuery.ajax({
"type":"post",
"url":"http://www.baidu.com", 
"success":function(rel){
if(rel.isSuccess){ 
result=rel.url;
//window.open(rel.url,"_blank");
}
}
});
if(result.length>0){
window.open(result,"_blank");
}

Werfen wir einen Blick auf Ajax. Öffnen Sie nach der Antwort ein neues Fenster.

Es gibt eine Funktion in der jüngsten Entwicklung. Nach dem Klicken auf einen Link muss festgestellt werden, ob der aktuelle Benutzer Wenn nicht, muss ein Anmeldedialogfeld angezeigt werden. Nachdem sich der Benutzer angemeldet hat, öffnen Sie die URL, auf die der Link verweist, in einem neuen Fenster (Tab).

Es gibt nicht viel zu sagen, posten Sie einfach den Code:

Wichtiger Punkt: Sie müssen die synchrone Übermittlung verwenden, die asynchrone Übermittlung verwenden und im Rückruf ein neues Fenster (Tab) öffnen , was vom Browser als bösartiges

Verhalten
$(document).delegate("a", "click", function () { 
var actionUrl = $(this).attr("href"); 
var ssoAction = function () { window.open(actionUrl, '_blank'); }; 
if (isLogin()) { 
ssoAction(); 
} else { 
popup.show({login:function () { 
$.ajax({ 
type: "post", 
dataType: "json", 
url: "/Account/Login", 
data: $("frmLogin").serialize(), 
//发送方式改为同步,避免弹出页面被浏览器拦截
async: false, 
success: function (oData) { 
ssoAction(); 
} 
}); 
}); 
} 
return false; 
});
betrachtet wird.

Ich glaube, dass Sie die Methode beherrschen, nachdem Sie den Fall in diesem Artikel gelesen haben. Weitere spannende Informationen finden Sie in anderen verwandten Artikeln auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Verwenden Sie Ajax, um zu überprüfen, ob der registrierte Benutzername vorhanden ist


Ajax sendet den Datentypschritt an den Server Ausführliche Erklärung

Das obige ist der detaillierte Inhalt vonSo richten Sie eine Ajax-Anfrage so ein, dass sofort nach Erfolg ein neues Fenster geöffnet wird. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn