Heim >Web-Frontend >js-Tutorial >So richten Sie eine Ajax-Anfrage so ein, dass sofort nach Erfolg ein neues Fenster geöffnet wird
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. 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!