ajax 데이터를 다른 도메인을 보내는 문제..
본문
function out_membr(mb_id){
if( confirm("강제종료 하시겠습니까? ") ) {
$.ajax({
type: "POST",
datatype : "json",
async:false,
url: 'https://www.사이트.com/bbs/member_logout.php?mb_id='+mb_id,
data:{id:mb_id},
success: function(data){
if(data==1){
location.reload()
}
}
});
}
}
사용자 사이트와 관리자 사이트의 도메인이 다른데
관리자사이트에서 회원아이디를 사용자 사이트로 보내서
member_logout.php를 실행하려고 하려는데 안되는데
이런 방법은 불가능한건가요? .. ㅠㅠ
!-->
답변 4
다음 코드가 도움이 될지 모르겠습니다.
function out_membr(mb_id){
if( confirm("강제종료 하시겠습니까? ") ) {
/*
$.ajax({
type: "POST",
datatype : "json",
async:false,
url: 'https://www.사이트.com/bbs/member_logout.php?mb_id='+mb_id,
data:{id:mb_id},
success: function(data){
if(data==1){
location.reload()
}
}
});
*/
var url = 'https://www.사이트.com/bbs/member_logout.php?mb_id='+mb_id;
var tempnode = document.createElement('iframe');
tempnode.src = url;
tempnode.style.display = 'none';
tempnode.onload = function () {
this.remove();
}
document.body.appendChild(tempnode);
}
}
세션이나 쿠키로 하는거라서 다른 사람의 아이디를 로그아웃 시킬수는 없습니다. 그렇게 하실려면 해당 페이지에서 디비 저장하는걸 만들어서 특정 시간 동안 로그인을 못하게 하면서 해당 아이디 접속이 확인되면 로그아웃 시키는걸 따로 만드셔야겠죠
타도메인간 Ajax는 jsonp 라는 방식을 사용하여 가능합니다
member_logout.php 파일이 원래 있었나요??
못봤던거 같은데...
//보내는쪽
<script>
function out_membr(mb_id){
if( confirm("강제종료 하시겠습니까? ") ) {
$.ajax({
type: "post",
datatype : "jsonp",
url: 'https://받는쪽도메인.com/bbs/member_logout.php',
data:{mb_id:mb_id},
jsonp : "callback",
success: function(data){
//
}
});
}
}
</script>
//받는쪽 헤더에 추가
header("Access-Control-Allow-Origin: https://보내는쪽도메인.com");
답변을 작성하시기 전에 로그인 해주세요.