>  기사  >  웹 프론트엔드  >  성공 후 즉시 새 창을 열도록 Ajax 요청을 설정하는 방법

성공 후 즉시 새 창을 열도록 Ajax 요청을 설정하는 방법

php中世界最好的语言
php中世界最好的语言원래의
2018-04-03 17:35:292246검색

이번에는 요청 성공 후 즉시 새 창을 열도록 Ajax 요청을 설정하는 방법을 보여 드리겠습니다. 다음은 실제 사례입니다. 살펴보겠습니다. 더 이상 말도 안 되는 소리는 하지 마세요. 키 코드는 다음과 같습니다.

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

url 요청이 성공한 후 window.open(rel.url, "_blank")는 브라우저에서 가로채어 새 창을 열 수 없습니다. window.open()을 ajax 외부에 배치하면 문제가 해결됩니다.

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");
}
Ajax 응답 후 새 창을 여는 방법을 살펴보겠습니다. 최근 개발 중인 기능입니다. 링크를 클릭한 후 현재 사용자가 로그인되어 있는지 여부를 판단해야 합니다. 그렇지 않은 경우 사용자가 로그인한 후

에서 가리키는 URL을 엽니다. 새 창(탭)에 링크가 표시됩니다. 말할 것도 없고 그냥 코드만 게시하세요:

$(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; 
});
핵심 사항: 동기 제출, 비동기 제출을 사용하고 콜백에서 새 창(탭)을 열어야 합니다. 이는 브라우저에서 악성으로 간주됩니다.

행동

. 이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 자료:

ajax를 사용하여 등록된 사용자 이름이 존재하는지 확인하세요

ajax가 데이터 유형을 서버에 보내는 단계에 대한 자세한 설명

위 내용은 성공 후 즉시 새 창을 열도록 Ajax 요청을 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.