아작스에서 die로 메세지를 여러개 보낼수는 없나요? 채택완료

7개월 전 조회 1,466

die("권한없음");

die("레벨업후이용해주세요");

..등등 여러개인데요

 

위에 메세지말고 추가적으로 변수나 이런걸 받아서

경고창만 띄울건지 새로고침할건지 페이지 이동을 할건지 이런걸 구분하려고하거든요...

 

그냥 if(data == "권한없음"){ 이런식으로 한글로 비교해도 되는건지..

다른방법으로 해야하는지...이럴떈 어떤식으로 해야하는지 궁굼합니다

답변 3개

채택된 답변
+20 포인트

Copy
// 권한 없음 - 경고창만
if (!$user_permission) {
    die("NO_AUTH/권한이 없습니다");
}

// 레벨 부족 - 경고창 + 페이지이동
if ($user_level < 5) {
    die("LOW_LEVEL/레벨업 후 이용해주세요");
}

// 오류 발생 - 경고창 + 새로고침
if ($some_error) {
    die("ERROR/처리 중 오류가 발생했습니다");
}

// 성공 - 경고창 + 새로고침
die("SUCCESS/저장이 완료되었습니다");

 

Copy
$.ajax({
    url: 'your_file.php',
    type: 'POST',
    data: {/* 보낼 데이터 */},
    success: function(data) {
        var result = data.split('/');
        var code = result[0];     // 영어 코드
        var message = result[1];  // 한글 메시지
        
        // 메시지 표시
        alert(message);
        
        // 코드에 따른 처리
        if (code == 'SUCCESS') {
            location.reload();                    // 새로고침
        } else if (code == 'LOW_LEVEL') {
            location.href = '/levelup.php';       // 레벨업 페이지로
        } else if (code == 'ERROR') {
            location.reload();                    // 새로고침
        }
        // NO_AUTH는 경고창만 띄우고 끝
    }
});
로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

die('asdfg#권한');

이렇게하고

tmp = data.split('#'):

이렇게 사용해도 됩니다

로그인 후 평가할 수 있습니다

댓글을 작성하려면 로그인이 필요합니다.

한글로 해도 상관 없습니다.

여러개를 보내실려면 json 타입으로 보내시고 스크립트 쪽에서 원하시는데로 사용을 하시면 됩니다.

간단하게는  https://blex.me/@baealex/php%EC%97%90%EC%84%9C-ajax-%EC%82%AC%EC%9A%A9%ED%95%98%EB%8A%94-%EB%B0%A9%EB%B2%95 참고해보시면 될 거 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

한가지만 더 여쭙겠스빈다 위에 링크보고 따라해보고 있는데.. 너무 어려워서요..ㅜㅜ
영어로된 코드1개와 한글메세지1개 이렇게 2개를 가져올건데도 json 으로 가져와야하나요?
혹시 좀더 간단한 방법은 없나요...

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고