這裡再次感謝小正正教室。
- /* 針對不同瀏覽器的前置處理宣告 */
- if (typeof(XMLHttpRequest)=="undefined" && window.ActiveXObject) {
- XMLHttpRequest=function(){
- var arrSignatures = [
- "MSXML2.XMLHTTP.5.0",
- "MSXML2.XMLHTTP.4.0",
- "MSXML2.XMLHTTP.3.0",
- "MSXML2.XMLHTTP",
- "Microsoft.XMLHTTP"];
- for (var i = 0; i < arrSignatures.length; i++) {
- try{
- var oRequest = new ActiveXObject(arrSignatures[i]);
- return oRequest;
- }catch(oError){/*ignore*/}
- }
- throw new Error("MSXML is not installed on your system.");
- };
- }
- /* 傳送連接 */
- function convectionLink(){
- /*建立傳送的資料 */
- var postData = 'user=xxxx&pass=xxxx';
- /*產生要求資料的 URL 位址*/
- var sURL = "check_in.php";
- /* 建立 XMLHttpRequest 物件,並且送要求 */
- var oRequest = new XMLHttpRequest();
- /* 設定(傳送的方式,要求的位址,是否非同步進行) */
- oRequest.open("POST", sURL, true);
- /* 使用 POST 傳送必須設定 MIME 型態 */
- oRequest.setRequestHeader(
- 'Content-Type',
- 'application/x-www-form-urlencoded'
- );
- /* 建立接收資料的函數 */
- oRequest.onreadystatechange = function(){
- /* readyState 所有可能的傳送狀態值如下:
- 0 (還沒開始)
- 1 (讀取中)
- 2 (已讀取)
- 3 (資訊交換中)
- 4 (請求完成) */
- if (oRequest.readyState == 4) {
- /* (在此處加入開啟已停用選項的設置) */
- /* 處理傳回為 200 的 HTTP 狀態碼 */
- if (oRequest.status == 200) {
- /* 接受資料成功 */
- /*可以從responseText或responseXML取得傳回的資料*/
- json = oRequest.responseText;
- /* 處理其他錯誤 HTTP 狀態碼 */
- }else{
- /*接收資料失敗,可以從 statusText 取得錯誤狀態資訊*/
- alert(oRequest.statusText);
- }
- }
- }
- /* (在此處可以加入一些網頁選項停用的設置,以防止重複送出) */
- /* 送出 Ajax 要求 */
- oRequest.send(postData);
- /*以POST傳送時,這裡可以輸入(XML,串流,字串,JSON格式)*/
- /*以GET傳送時,這裡只要輸入 null 或是空的 */
- }
參考網頁:
小正正教室:Ajax 兩層連動選單
相關連結:
爪哇豆的秘密:AJAX深度歷險1(Getting Started)
Ajax内部交流文档
MoztwWiki:AJAX 上手篇
維基百科:AJAX
語言技術:Ajax Gossip
2 回應:
您好
請問我如果要傳送一個大量資料 例如留言板的留言內容 請問我也是用a=XXX這樣嗎? 還是可以用jacascript 去抓表單裡的資料呢?
謝謝
a=XXX 只是一個種格式
至於要用什麼方法組成並沒有限制
張貼留言