Re: [問題] 透過AJAX將資料存入資料庫中?!
※ 引述《idcomputer (順)》之銘言:
: 32;1m***********表單部份***************
: //建置一個表單,表單中不需要action、method之類的內容,全部由ajax來搞定了。
: <form name="user_info">
: 姓名:<input type="text" name="user_name" /><br />
: 年齡:<input type="text" name="user_age" /><br />
: 性別:<input type="text" name="user_sex" /><br />
: <input type="button" value="提交表單" onClick="saveUserInfo()">
: </form>
: //建置一個接受返回資訊的層:
: <div id="msg"></div>
:
:
: ********程式部份*******
: function saveUserInfo()
: {
: //獲取接受返回資訊層
: var msg = document.getElementById("msg");
: //獲取表單物件和使用者資訊值
: var f = document.user_info;
: var userName = f.user_name.value;
: var userAge = f.user_age.value;
: var userSex = f.user_sex.value;
: //接收表單的URL地址
: var url = "/save_info.php";
: //需要POST的值,把每個變數都透過&來聯接
: var postStr = "user_name="+ userName +"&user_age="+ userAge +
: "&user_sex="+ userSex;
: //實例化Ajax
: var ajax = InitAjax(); <==跑到這邊就停止了
: //透過Post方式開啟連線
: ajax.open("POST", url, true);
: //定義傳輸的檔案HTTP頭資訊
: ajax.setRequestHeader("Content-Type",
: "application/x-www-form-urlencoded");
: //發送POST資料
: ajax.send(postStr);
: //獲取執行狀態
: ajax.onreadystatechange = function() {
: //如果執行狀態成功,那麼就把返回資訊寫到指定的層裡
: if (ajax.readyState == 4 && ajax.status == 200) {
: msg.innerHTML = ajax.responseText;
: }
: }
: }
: ******PHP部分********
:
: $user_name =$_POST['user_name'];
: $user_age =$_POST['user_age'];
: $user_sex =$_POST['user_sex'];
:
:
: mysql_select_db($database_local, $local);
: $sql = "INSERT INTO test
: ( user_name,user_age,user_sex)
: VALUES ('$user_name', '$user_age', '$user_sex')";
: $res = mysql_query($sql) or die(mysql_error());
: 想請問一下是哪個環節出了問題所以沒辦法將資料存入資料庫呢?!感恩
如果增加下面這部份******************************************
var xmlHttp;
function createXHR(){
if (window.XMLHttpRequest) {
xmlHttp = new XMLHttpRequest();
}else if (window.ActiveXObject) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
if (!xmlHttp) {
alert('您使用的瀏覽器不支援 XMLHTTP 物件');
return false;
}
}
******************************************************************
接著把此部份改成下列部分
: //實例化Ajax
: var ajax = InitAjax(); <==跑到這邊就停止了
: //透過Post方式開啟連線
: ajax.open("POST", url, true);
: //定義傳輸的檔案HTTP頭資訊
: ajax.setRequestHeader("Content-Type",
: "application/x-www-form-urlencoded");
: //發送POST資料
: ajax.send(postStr);
: //獲取執行狀態
: ajax.onreadystatechange = function() {
: //如果執行狀態成功,那麼就把返回資訊寫到指定的層裡
: if (ajax.readyState == 4 && ajax.status == 200) {
: msg.innerHTML = ajax.responseText;
: }
: }
: }
********************改成如下***************************
createXHR();
xmlHttp.open("POST", url);
xmlHttp.setRequestHeader("Content-Type",
"application/x-www-form-urlencoded");
xmlHttp.send(postStr);
function handleStateChange()
{ if(xmlHttp.readyState == 4)
{ if(xmlHttp.status == 200)
{ msg.innerHTML = ajax.responseText;}
}
}
*************************************************
這樣可行嗎?!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.221.166.118
→
09/28 12:52, , 1F
09/28 12:52, 1F
→
09/28 12:52, , 2F
09/28 12:52, 2F
→
09/28 13:02, , 3F
09/28 13:02, 3F
→
09/28 13:03, , 4F
09/28 13:03, 4F
→
09/28 13:04, , 5F
09/28 13:04, 5F
→
09/28 13:05, , 6F
09/28 13:05, 6F
→
09/28 13:05, , 7F
09/28 13:05, 7F
推
09/28 13:15, , 8F
09/28 13:15, 8F
→
09/29 07:04, , 9F
09/29 07:04, 9F
討論串 (同標題文章)
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章