채택완료

ajax 스크립트 질문 입니다.

2021-02-14 (일) 02:32:10 2,463

이제껏 잘 되다가 갑자기 안되는데

무슨 경우 일까요?

요일 클릭하면 날짜계산되서 아래쪽에 보이는 소스인데

pc에선 잘되는데 모바일만 에러가 납니다.

희한하네요..

662111144_1613237480.1618.png

Copy
$.ajax({
            url: './ajax.day_check.php',
            type: "POST",
            data: {
                "baesong": forderform.baesong.value,
                "od_baesong_day": forderform.od_baesong_day.value
            },
            dataType: "text",
            error: function(xhr, status, error){
                alert(error);
            },
            async: false,
            cache: false,
            success : function(res){
                if(res) { // 성공
                    $('#data').show();
                    var arr = res.split(",");
                    
                    $('.data_result').empty();
                    for (var i in arr)
                    {    
                        var k = Number(i) + Number(1);
                        $('.data_result').append("<div>" + k + "회 <span style='color:red'>" + arr[i] + "</span></div>");
                        
                    }
                }
            }

        });

ajax.day_check.php 파일 소스

Copy
<?
include_once('./_common.php');


$baesong = $_POST['baesong'];
$od_baesong_day = $_POST['od_baesong_day'];


/* 날짜저장 */
    // 오늘 날짜 구하기
    $today = new DateTimeImmutable();
    $todayDayOfWeek = $today->format('w');

    // 다음주 일요일 날짜 구하기
    // 오늘이 일요일이면 오늘 날짜로 함.
    $toNextSundayInterval = ( $todayDayOfWeek != 0 ) ? new DateInterval('P'.(7 - $todayDayOfWeek).'D') : new DateInterval('P0D');
    $nextSunday = $today->add($toNextSundayInterval);

    // 배송요일 값 파싱하기
    $targetFirstShippingDayDB = [
        '화요일'=>'2',
        '수요일'=>'3',
        '목요일'=>'4',
        '금요일'=>'5',
        '토요일'=>'6',
    ];
    $targetFirstShippingDayDayOfWeek;
    foreach($targetFirstShippingDayDB as $targetText => $dayOfWeek ) {
        if ( substr($od_baesong_day, 0, strlen($targetText)) === $targetText ) {
            $targetFirstShippingDayDayOfWeek = $dayOfWeek;
            break;
        }
    }

    // 첫번째 배송일자 구하기
    $toTargetFirstShippingDayInterval = new DateInterval('P'.$targetFirstShippingDayDayOfWeek.'D');
    $targetFirstShippingDay = $nextSunday->add($toTargetFirstShippingDayInterval);

    // 배송일 배열 만들기
    $shippingDay = $targetFirstShippingDay;
    $shippingDays = [];
    for($i = 0 ; $i < intval($baesong) ; $i++ ) {
        array_push($shippingDays, $shippingDay);
        if($baesong == '4')
            $nextShippingDayInterval = new DateInterval('P7D');
        else if($baesong == '2')
            $nextShippingDayInterval = new DateInterval('P14D');
        $shippingDay = $shippingDay->add($nextShippingDayInterval);
    }


    foreach($shippingDays as $index => $shippingDay) {
        $i = $index + 1;
        $result .= $shippingDay->format('m/d')."(".get_yoil($shippingDay->format('m/d'))."),";
    }
    $result = substr($result, 0, -1);
    echo $result;


?>
|

답변 1개

채택된 답변
+20 포인트
2021-02-14 (일) 02:37:26

음.. 보니까.. 수령일 선택 했을때 제대로 읽어오지 않는것 같아요 

수령일에 선택한 값이 없거나.. 문제가 있는지 모르겠네여 

ajax.day_check.php 파일 소스

여기에 포스트 값이 제대로 오는지도 확인해보세요

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