폼전송 ajax 질문입니다.
본문
serialize() 함수를 이용하여 폼을 ajax로 전송하려고 하는데요.
ajax를 받아오는 파일에서 폼에 저장된 값을 각각의 php 변수로 어떻게 받아올 수 있나요?
답변 3
전송하는 값의 name이 id인이고 전송방식이 post일 경우
$id = $_POST['id'];
get일경우는
$_GET으로 수정.
GET POST 구분없이 받고 싶을 땐
$_REQUEST
var params = $("form[name=form2]").serialize();
$.ajax({
method: "post",
url: "./form_json.php",
dataType: "json",
data: {params}
}).done(function( data ) {
//alert( "success" );
if (data.code == 1)
{
alert(data.message);
} else {
alert(data.message);
}
}).fail(function() {
alert("error");
});
});
<?php
$name = $_REQUEST['name'];
$phone = $_REQUEST['phone'];
$postcode = $_REQUEST['postcode'];
$address = $_REQUEST['address'];
$detailaddress = $_REQUEST['detailaddress'];
$email = $_REQUEST['email'];
$return = array(
"code" => 0,
"message" => "알 수 없는 오류가 발생했습니다."
);
if($name) {
// 주소 & ip 동시 중복 검사
$sql = "select문";
$res = mysqli_query($db, $sql);
if($res) {
$row = mysqli_fetch_array($res);
if ($row[0] = 0) {
$sql = "insert문";
$res = mysqli_query($db, $sql);
if($res) {
$return["code"] = 1; // 참
$return["message"] = "등록이 완료되었습니다."; // 메시지
} else {
$return["code"] = 0; // 거짓
$return["message"] = "DB입력오류2"; // 오류 메시지
}
} else {
$return["code"] = 0; // 거짓
$return["message"] = "주소와 IP 중복 입력 불가1"; // 메시지
}
} else {
$return["code"] = 0; // 거짓
$return["message"] = "대상 정보가 없습니다.3"; // 오류 메시지
}
} else {
$return["code"] = 0; // 거짓
$return["message"] = "요청정보가 없습니다."; // 오류 메시지
}
echo json_encode($return);
exit;
?>
계속 요청정보가 없다는 오류메시지가 뜨네요. $name을제대로 못받아오는 걸까요?ㅠㅠ
!-->!-->data: params 이렇게 괄호없이 data를 전송하니 성공하네요ㅠㅠ 답변해주신분들 모두 감사합니다.
답변을 작성하시기 전에 로그인 해주세요.