回覆列表
  • 1 # 使用者834195712159

    在非同步應用程式中傳送和接收資訊時,常見的可以選擇以純文字和XML作為資料格式(可參考《jQuery學習筆記之Ajax用法例項詳解》),現在還有一種比較流行的方式:JSON(JavaScript Object Notation)。好了,下面舉例說明這三種資料格式在ajax的非同步應用。

    一、純文字方式

    1、傳送/接收資料:

    Code is cheap.看程式碼:

    testJs.js

    // 此函式等價於document.getElementById /document.all

    function $(s) { if (document.getElementById) { return eval("document.getElementById("" + s + "")"); } else { return eval("document.all." + s); } }

    // 建立 XMLHttpRequest物件,以傳送ajax請求

    function createXMLHTTP() {

    var xmlHttp = false;

    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 {

    xmlHttp = new ActiveXObject(arrSignatures[i]);

    return xmlHttp;

    }

    catch (oError) {

    xmlHttp = false; //ignore

    }

    }

    // throw new Error("MSXML is not installed on your system.");

    if (!xmlHttp && typeof XMLHttpRequest != "undefined") {

    xmlHttp = new XMLHttpRequest();

    }

    return xmlHttp;

    }

    var xmlReq = createXMLHTTP();

    // 傳送ajax處理請求(這裡簡單驗證使用者名稱和密碼的有效性,預設正確的輸入:使用者名稱和密碼都是test)

    function validatePwd(oTxt) {

    var url = "/AjaxOperations.aspx";

    xmlReq.open("post", url, true);

    xmlReq.setRequestHeader("Content-Length", oTxt.value.length + $("txtUserName").value.length);

    xmlReq.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    xmlReq.onreadystatechange = callBack;

    xmlReq.send("action=chkPwd&userInfos=" + escape(oTxt.value + "/" + $("txtUserName").value)); // 傳送文字

    }

    function callBack() {

    if (xmlReq.readyState == 4) {

    if (xmlReq.status == 200) {

    alert(xmlReq.responseText); // 接收文字

    }

    else if (xmlReq.status == 404) {

    alert("Requested URL is not found.");

    } else if (xmlReq.status == 403) {

    alert("Access denied.");

    } else

    alert("status is " + xmlReq.status);

    }

    }

  • 中秋節和大豐收的關聯?
  • 壽山石手把件怎麼樣?