php에서 ajax 질문 채택완료
kmd2410
4년 전
조회 1,549
</p>
<p><html></p>
<p> <head></p>
<p> <script src="<a href="https://code.jquery.com/jquery-3.4.1.min.js"></script>" target="_blank" rel="noopener noreferrer">https://code.jquery.com/jquery-3.4.1.min.js"></script></a></p>
<p> </head></p>
<p> <form action="" method="POST"></p>
<p> <div></p>
<p> <label for="id">id</label></p>
<p> <input type="text" name="id" id="id"></p>
<p> </div></p>
<p> <div></p>
<p> <label for="pv">pv</label></p>
<p> <input type="password" name="pv" id="pv"></p>
<p> </div></p>
<p> <div></p>
<p> <label for="pb">pb</label></p>
<p> <input type="password" name="pb" id="pb"></p>
<p> </div></p>
<p> <div></p>
<p> <label for="code">code</label></p>
<p> <input type="text" name="code" id="code"></p>
<p> </div></p>
<p> <div></p>
<p> <label for="email">email</label></p>
<p> <input type="text" name="email" id="email"></p>
<p> </div></p>
<p> <div></p>
<p> <input type="submit" class="button"></p>
<p> </div></p>
<p> </form></p>
<p> </p>
<p><script></p>
<p> $(function(){</p>
<p> $(".button").click(function(){</p>
<p> let values = $("form").serialize();</p>
<p> </p>
<p> $.ajax({</p>
<p> url: "./insert_update.php",</p>
<p> type: "POST",</p>
<p> data: values,</p>
<p> dataType: "json",</p>
<p> success: function(response){</p>
<p> alert("성공");</p>
<p> }</p>
<p> });</p>
<p> });</p>
<p> });</p>
<p> </script></p>
<p></html></p>
<p>
이코드로 넘겼을때 받는 php에서 $id = $_POST['id'];를 해서 받을수가 없는데...
어떻게 해야하는건가요 ㅠㅠ?
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
4년 전
</p>
<p><input type="submit" class="button"></p>
<p>↓</p>
<p><input type="button" class="button" value="확인"></p>
<p>
로그인 후 평가할 수 있습니다
답변에 대한 댓글 3개
k
kmd2410
4년 전
B
BiHon
4년 전
네. 그렇게 받으면 됩니다.
테스트를 위해 질문의 코드에서 최소한만 남긴 코드입니다.
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]
테스트를 위해 질문의 코드에서 최소한만 남긴 코드입니다.
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]
k
kmd2410
4년 전
선생님 너무 감사해요! 해결하였습니다! ^^
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
제가 받는 방식이 틀린것같아요 ㅠ.ㅠ 작동을안해용