php에서 ajax 질문

php에서 ajax 질문

QA

php에서 ajax 질문

본문


<html>
    <head>
        <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
    </head>
    <form action="" method="POST">
        <div>
            <label for="id">id</label>
            <input type="text" name="id" id="id">
        </div>
        <div>
            <label for="pv">pv</label>
            <input type="password" name="pv" id="pv">
        </div>
        <div>
            <label for="pb">pb</label>
            <input type="password" name="pb" id="pb">
        </div>
        <div>
            <label for="code">code</label>
            <input type="text" name="code" id="code">
        </div>
        <div>
            <label for="email">email</label>
            <input type="text" name="email" id="email">
        </div>
        <div>
            <input type="submit" class="button">
        </div>
    </form>
 
<script>
        $(function(){
            $(".button").click(function(){
                let values = $("form").serialize();
 
                $.ajax({
                    url: "./insert_update.php",
                    type: "POST",
                    data: values,
                    dataType: "json",
                    success: function(response){
                        alert("성공");
                    }
                });
            });
        });
    </script>
</html>

 

이코드로 넘겼을때 받는 php에서 $id = $_POST['id'];를 해서 받을수가 없는데...

어떻게 해야하는건가요 ㅠㅠ?

이 질문에 댓글 쓰기 :

답변 1


<input type="submit" class="button">
↓
<input type="button" class="button" value="확인">

네. 그렇게 받으면 됩니다.
테스트를 위해 질문의 코드에서 최소한만 남긴 코드입니다.
insert_update.php는 확인용으로 추가합니다.


<html>
    <head>
        <script src="//code.jquery.com/jquery-3.4.1.min.js"></script>
    </head>
    <form action="" method="POST">
        <div>
            <label for="id">id</label>
            <input type="text" name="id" id="id">
        </div>
        <div>
            <input type="button" class="button" value="확인">
        </div>
    </form>
<script>
$(function(){
    $(".button").click(function(){
        let values = $("form").serialize();
        $.ajax({
            url: "./insert_update.php",
            type: "POST",
            data: values,
            dataType: "json",
            success: function(response){
                alert(response.id);
            }
        });
    });
});
</script>
</html>


* insert_update.php

<?php
$data = [ // PHP v5.4 이상 ... 미만은 $data = [ ]; → $data = array( );
    'id' => $_POST['id'] ?? '' // PHP v7.0 이상 ... 미만은 간단하게 isset($_POST['id']) ? $_POST['id'] : ''
];
echo json_encode($data, JSON_UNESCAPED_UNICODE);

답변을 작성하시기 전에 로그인 해주세요.
전체 147
QA 내용 검색
filter #json ×

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT