أولاً ، نحتاج إلى كائن XHR. هذا ليس بالأمر الصعب بالنسبة لنا ، ويغلفها في وظيفة.
var createajax = function () {var xhr = null ؛ حاول {// ie series browser xhr = new ActivexObject ("Microsoft.xmlHttp") ؛ } catch (e1) {try {// noni browser xhr = new xmlhttprequest () ؛ } catch (e2) {window.alert ("المستعرض الخاص بك لا يدعم ajax ، يرجى استبدال!") ؛ }} return xhr ؛} ؛ثم ، دعنا نكتب الوظيفة الأساسية.
var ajax = function (conf) {// initialize // type parameter ، اختياري var type = conf.type ؛ // معلمة url ، مطلوب var url = conf.url ؛ // معلمة البيانات اختيارية ، فقط var data = conf.data ؛ // المعلمة datatype هي اختيارية var datatype = conf.datatype ؛ // وظيفة رد الاتصال هي اختيارية var success = conf.success ؛ if (type == null) {// type parameter use eptial ، الافتراضي هو الحصول على type = "get" ؛ } if (datatype == null) {// معلمة datatype اختيارية ، الافتراضي هو text dataType = "text" ؛ } // إنشاء كائن محرك ajax var xhr = createajax () ؛ // فتح xhr.open (النوع ، url ، true) ؛ // send if (type == "get" || type == "get") {xhr.send (null) ؛ } آخر إذا (type == "post" || type == "post") {xhr.setRequestHeader ("type-type" ، "application/x-www-form-urlencoded") ؛ XHR.SEND (البيانات) ؛ } XHR.OnReadyStateChange = function () {if (xhr.readyState == 4 && xhr.status == 200) {if (datatype == "text" || datatype == "text") }} آخر إذا (datatype == "xml" || datatype == "xml") {if (success! = null) {// استقبال نجاح مستند XML (xhr.responsexml) ؛ }} آخر إذا (datatype == "json" || datatype == "json") {if (success! = null) {// تحويل سلسلة JSON إلى نجاح كائن JS (aluad ("("+xhr.responsetext+"))) ؛ }}}}}} ؛} ؛أخيرًا ، دعنا نوضح استخدام هذه الوظيفة.
ajax ({type: "post" ، url: "test.jsp" ، البيانات: "name = dipoo & info = good" ، datatype: "json" ، النجاح: الدالة (البيانات) {Alert (data.name) ؛}}) ؛رمز المثال أعلاه الذي يستخدم JS الأصلي لتغليف Ajax هو كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.