php에서 ajax 질문 채택완료

Copy
<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개

채택된 답변
+20 포인트

Copy
<input type="submit" class="button">

↓

<input type="button" class="button" value="확인">
로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

선생님 serialize()로 넘긴 데이터를 insert_unpdate.php에서 $id = $_POST['id'];로 받을수있나요?
제가 받는 방식이 틀린것같아요 ㅠ.ㅠ 작동을안해용
네. 그렇게 받으면 됩니다.
테스트를 위해 질문의 코드에서 최소한만 남긴 코드입니다.
insert_update.php는 확인용으로 추가합니다.

[code]
<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>
[/code]

* insert_update.php
[code]
<?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);
[/code]
선생님 너무 감사해요! 해결하였습니다! ^^

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

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

로그인
🐛 버그신고