Ajax로 제출한 후 데이터베이스에 추가 항목이 있는데 표시가 null인 이유는 무엇입니까? 아약스를 잘못 사용하고 있는 걸까요?
t.php
<code><script type="text/javascript"> function ajax(url,funsucc){ var oAjax=new XMLHttpRequest(); oAjax.open('POST',url,true); oAjax.send(); oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(oAjax.status==200){ funsucc(oAjax.responseText); } } } } </script> <script type="text/javascript"> window.onload=function(){ var oTxt=document.getElementById('txt1'); var oBtn=document.getElementById('btn1'); oBtn.onclick=function(){ ajax("ajax.php",function(){ window.location.reload(); }); } } </script> <form method="post"> <input type="text" id="txt1" name="txt"> <button id="btn1" type="submit">提交</button> </form></code>
ajax.php
<code><?php $pdo=new PDO("mysql:host=localhost;dbname=t1","root",""); $txt=$_POST["txt"]; $stmt=$pdo->prepare("insert into ajax(txt)values(?)"); $stmt->execute(array($txt)); ?></code>
Ajax로 제출한 후 데이터베이스에 추가 항목이 있는데 표시가 null인 이유는 무엇입니까? 아약스를 잘못 사용하고 있는 걸까요?
t.php
<code><script type="text/javascript"> function ajax(url,funsucc){ var oAjax=new XMLHttpRequest(); oAjax.open('POST',url,true); oAjax.send(); oAjax.onreadystatechange=function(){ if(oAjax.readyState==4){ if(oAjax.status==200){ funsucc(oAjax.responseText); } } } } </script> <script type="text/javascript"> window.onload=function(){ var oTxt=document.getElementById('txt1'); var oBtn=document.getElementById('btn1'); oBtn.onclick=function(){ ajax("ajax.php",function(){ window.location.reload(); }); } } </script> <form method="post"> <input type="text" id="txt1" name="txt"> <button id="btn1" type="submit">提交</button> </form></code>
ajax.php
<code><?php $pdo=new PDO("mysql:host=localhost;dbname=t1","root",""); $txt=$_POST["txt"]; $stmt=$pdo->prepare("insert into ajax(txt)values(?)"); $stmt->execute(array($txt)); ?></code>
백그라운드로 데이터를 보내지 않으신 것 같습니다.
값이 어디로 전달되나요?
send에 값이 없으면 ajax 값을 작성할 필요가 없습니다. target="iframe_name"