ajax post 데이터보내기
본문
그누보드를 이용하여 회원검증시 다른 서버로 데이터를 보내는 작업을 하고 있습니다.
그래서 일단 테스트를 하느라 로컬에서 그누보드 회원 가입하는 부분에서
검증하는 자바스크립트 부분에
var rst_yn = "";
var knd_cod ="";
if (f.w.value == "") {
//console.log(f.reg_mb_id.value);
//console.log(f.mb_password.value);
//console.log(f.mb_email.value);
console.log(g5_url+"/test_reg.php");
$.ajax({
type: "POST",
url: g5_url+"/test_reg.php", //http://localhost/macroz
data: {
"KND_COD": 'A|11',
"USER_ID": f.reg_mb_id.value,
"PASS": f.mb_password.value,
"EMAIL": f.mb_email.value
},
//dataType: "json",
async: false,
cache: false,
success: function(data, textStatus) {
rst_yn = data.RST_YN;
knd_cod = data.KND_COD;
console.log(rst_yn);
console.log(knd_cod);
}
});
}
이라놓고
index.php 있는 부분에 test_reg.php를 만들어
$data = $_POST['KND_COD'];
$data2 = $_POST['USER_ID'];
echo $data2;
echo "aaaaaaa";
var_dump($data);
echo "bbbbbbbb";
라는 코드를 만들었더니
Notice: Undefined index: KND_COD
Notice: Undefined index: USER_ID
라는 에러코드가 나오고 있습니다.
데이터를 보내지 못하고 있는거 같은데 왜 이런 증상이 나올까요??
답변 2
php 코드에서는 그렇지 않게 보내고 있네요
echo '{"RST_YN":"값","KOD_COD":"값"}';
이런식으로 리턴해야 값을 받을수 있습니다
그리고
data: {
"KND_COD": 'A|11',
"USER_ID": f.reg_mb_id.value,
"PASS": f.mb_password.value,
"EMAIL": f.mb_email.value
},
이부분도 틀렸는데요
"KOD_COD" 와 같은 부분들에서 쌍따옴표를 제거하세요
즉
KOD_COD:"A|11",
USER_ID:f.reg_mb_id.value,
이와같이 수정하시면 됩니다.
var href=g5_url+"/test_reg.php";
$.post(
href,
{ KND_COD: 'A|11',
USER_ID: f.reg_mb_id.value,
PASS: f.mb_password.value,
EMAIL: f.mb_email.value
},
function(data) {
if(data.errors) {
alert(data.errors);
return false;
}
var rst_yn = data.RST_YN;
var knd_cod = data.KND_COD;
console.log(rst_yn);
console.log(knd_cod);
} // if end
return;
}, "json" //fun end
); //post end
이걸로 해보시죠
내용상으로는 문제 없어보이지만 그래도 알수 없으니
이걸로 사용해보세요.
jquery-1.8.11.min.js 와 같은 자바스크립트 파일은 참조하도록 하신거죠?