Re: [問題] request.send到php的query,如何取回結果

看板Ajax作者 (心中在下雨)時間12年前 (2013/08/20 18:29), 編輯推噓1(101)
留言2則, 1人參與, 最新討論串2/2 (看更多)
你可以參考 W3C 的範例 http://www.w3schools.com/ajax/ajax_examples.asp http://www.w3schools.com/ajax/tryit.asp?filename=tryajax_first 可以用兩個方式 1. 用 ajaxReq.onreadystatechange (較常用這樣的方式) 指定接收到資料之後要做甚麼事情 如 ajaxReq.onreadystatechange = function(){ document.getElementById("pointerContent").innerHTML = ajaxReq.responseText } 2. 關閉同步處理,使用非同步 xmlhttp.open("POST","query.php",false); 這樣就會等確實完成 ajax 動作之後才進行下一行 ※ 引述《cupteam (JSK)》之銘言: : 利用JavaScript可以建立XMLHttpRequest然後利用open、send的方法傳送資料(GET或POST)。 : 我現在的目的是要從client端發出request到一個php,然後透過這個php執行query(mysql),最後「回傳給client的js顯示在一個div之中」。 : 我已經確定Request是沒有問題的。 : 我的client端程式碼是這樣的: : function previousChange() { : var ajaxReq = new AjaxRequest(); //從另一個js匯入的 : var type = document.getElementById("cpt").innerHTML; : var phase = document.getElementById("cpp").innerHTML; : var serialNumber = parseInt(document.getElementById("csn").innerHTML); : if(serialNumber <= 1) alert("已經是第一項"); : else{ : serialNumber--; : document.getElementById('csn').innerHTML = serialNumber ; : } : ajaxReq.send( : "POST", : "query.php", : handleRequest, : "application/x-www-form-urlencoded; charset=UTF-8", : "type=" + type + "&phase=" + phase + "&serialNumber=" + serialNumber : ); : document.getElementById("pointerContent").innerHTML = ajaxReq.getResponseText; : } : 另外,php的程式碼是這樣的: : require '../database/db_con.php'; : mysql_select_db("pointer_detail",$dbc)or die("無法選取資料庫"); : $sql = "SELECT content FROM pointers WHERE type='" . $_REQUEST['type'] ."' AND phase='" . $_REQUEST['phase'] . "' AND serial_number='" . $_REQUEST['serialNumber'] . "'"; : $result = mysql_query($sql,$dbc)or die("錯誤"); : if($result==0)echo "bye"; : while($row = mysql_fetch_array($result)){ : echo $row['content']; : } : mysql_free_result($result); : mysql_close($dbc); : 這個php程式碼我直接執行是沒有問題的。 : 我想請問為什麼沒辦法回傳(在指定的div中一直出現undefined)? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 116.59.226.7

08/20 18:31, , 1F
2. 然後瀏覽器會定在那邊不管使用者幹嘛
08/20 18:31, 1F

08/20 18:32, , 2F
等到回應回來再處理
08/20 18:32, 2F
文章代碼(AID): #1I4qJlNd (Ajax)
文章代碼(AID): #1I4qJlNd (Ajax)