Jadual Kandungan
onreadystatechange分析
Rumah pembangunan bahagian belakang tutorial php ajax简单封装详细介绍

ajax简单封装详细介绍

Jan 29, 2018 pm 03:09 PM
ajax memperkenalkan terperinci

本文主要和大家分享ajax简单封装详细介绍,希望能版助到大家。

ajax一般分为简单的四部:

  1. 创建ajax对象(这里兼容ie的话要做一下处理)

  2. 连接,即请求对象的open方法(get和post还有点不同,get参数要放在url后面,post要设置请求头)

  3. 发送,即请求对象的send函数(post参数则放在send里面)

  4. 接收,在onreadystatechange(存储函数或函数名,每当readyState属性改变时,就会调用该函数。)函数里面处理。

还可以加上超时这些

onreadystatechange分析

  1. 要先判断readyState的状态(有四个状态)

    ①: 0,请求未初始化;

    ②: 1,服务器连接已建立;

    ③: 2,请求已接收;

    ④: 3,请求处理中;

    ⑤: 4,请求已完成,且响应已就绪

  2. 当readyState等于4时,你又要判断status的状态

  3. 请求成功时status状态 200-302 ,还有304(是缓存)

'use strict';

var $ = {};
$.ajax = ajax;

function ajax(options) {

  // 解析参数
  options = options || {};
  if (!options.url) return;
  options.type = options.type || 'get';
  options.timeout = options.timeout || 0;

  // 1 创建ajax
  if (window.XMLHttpRequest) {

    // 高级浏览器和ie7以上
    var xhr = new XMLHttpRequest();
  } else {

    //ie6,7,8
    var xhr = new ActiveXObject("Microsoft.XMLHTTP"); 
  }

  // 2 连接
  var str = jsonToUrl(options.data);
  if (options.type === 'get') {
    xhr.open('get', `${options.url}?${str}`, true);

    // 3 发送
    xhr.send();
  } else {
    xhr.open('post', options.url, true);

    // 请求头
    xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    // 3 发送
    xhr.send();
  }

  // 接收
  xhr.onreadystatechange = function() {

    // 完成
    if (xhr.readyState === 4) {

      // 清除定时器
      clearTimeout(timer);

      if (xhr.status >= 200 && xhr.status < 300 || xhr.status == 304) {

        // 成功
        options.success && options.success(xhr.responseText);
      } else {
        options.error && options.error( xhr.status );
      }
    }
  };

  
  // 超时
  if (options.timeout) {
    var timer = setTimeout(function(){ 
            alert("超时了");
            xhr.abort(); // 终止
        },options.timeout);
  }
}


// json转url
function jsonToUrl(json) {
  var arr = [];
  json.t = Math.random();
  for(var name in json) {
    arr.push(name + '=' + encodeURIComponent(json[name]));
  }
  return arr.join('&');
}
Salin selepas log masuk

相关推荐:

微信小程序实现网络请求简单封装的代码案例

php简单封装了一些常用JS操作_PHP教程

简单的ajax封装


Atas ialah kandungan terperinci ajax简单封装详细介绍. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Bagaimana untuk menyelesaikan ralat 403 yang dihadapi oleh permintaan jQuery AJAX Feb 20, 2024 am 10:07 AM

Tajuk: Kaedah dan contoh kod untuk menyelesaikan ralat 403 dalam permintaan AJAX jQuery Ralat 403 merujuk kepada permintaan bahawa pelayan melarang akses kepada sumber Ralat ini biasanya berlaku kerana permintaan itu tidak mempunyai kebenaran atau ditolak oleh pelayan. Apabila membuat permintaan jQueryAJAX, anda kadangkala menghadapi situasi ini Artikel ini akan memperkenalkan cara menyelesaikan masalah ini dan memberikan contoh kod. Penyelesaian: Semak kebenaran: Mula-mula pastikan alamat URL yang diminta adalah betul dan sahkan bahawa anda mempunyai kebenaran yang mencukupi untuk mengakses sumber tersebut.

Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Bagaimana untuk menyelesaikan ralat permintaan jQuery AJAX 403 Feb 19, 2024 pm 05:55 PM

jQuery ialah perpustakaan JavaScript popular yang digunakan untuk memudahkan pembangunan sisi klien. AJAX ialah teknologi yang menghantar permintaan tak segerak dan berinteraksi dengan pelayan tanpa memuatkan semula keseluruhan halaman web. Walau bagaimanapun, apabila menggunakan jQuery untuk membuat permintaan AJAX, anda kadangkala menghadapi 403 ralat. Ralat 403 biasanya ralat akses yang dinafikan pelayan, mungkin disebabkan oleh dasar keselamatan atau isu kebenaran. Dalam artikel ini, kami akan membincangkan cara menyelesaikan permintaan jQueryAJAX yang menghadapi ralat 403

PHP dan Ajax: Membina enjin cadangan autolengkap PHP dan Ajax: Membina enjin cadangan autolengkap Jun 02, 2024 pm 08:39 PM

Bina enjin cadangan autolengkap menggunakan PHP dan Ajax: Skrip sisi pelayan: mengendalikan permintaan Ajax dan mengembalikan cadangan (autocomplete.php). Skrip pelanggan: Hantar permintaan Ajax dan cadangan paparan (autocomplete.js). Kes praktikal: Sertakan skrip dalam halaman HTML dan nyatakan pengecam elemen input carian.

Bagaimana untuk menyelesaikan masalah jQuery AJAX ralat 403? Bagaimana untuk menyelesaikan masalah jQuery AJAX ralat 403? Feb 23, 2024 pm 04:27 PM

Bagaimana untuk menyelesaikan masalah jQueryAJAX ralat 403? Apabila membangunkan aplikasi web, jQuery sering digunakan untuk menghantar permintaan tak segerak. Walau bagaimanapun, kadangkala anda mungkin menghadapi kod ralat 403 apabila menggunakan jQueryAJAX, menunjukkan bahawa akses dilarang oleh pelayan. Ini biasanya disebabkan oleh tetapan keselamatan bahagian pelayan, tetapi terdapat cara untuk mengatasinya. Artikel ini akan memperkenalkan cara menyelesaikan masalah ralat jQueryAJAX 403 dan memberikan contoh kod khusus. 1. membuat

Panduan Pemula PyCharm: Analisis Komprehensif Fungsi Penggantian Panduan Pemula PyCharm: Analisis Komprehensif Fungsi Penggantian Feb 25, 2024 am 11:15 AM

PyCharm ialah persekitaran pembangunan bersepadu Python yang berkuasa dengan fungsi dan alatan yang kaya yang boleh meningkatkan kecekapan pembangunan dengan ketara. Antaranya, fungsi penggantian merupakan salah satu fungsi yang kerap digunakan dalam proses pembangunan, yang boleh membantu pembangun mengubah suai kod dengan cepat dan meningkatkan kualiti kod. Artikel ini akan memperkenalkan fungsi gantian PyCharm secara terperinci, digabungkan dengan contoh kod khusus, untuk membantu orang baru menguasai dan menggunakan fungsi ini dengan lebih baik. Pengenalan kepada fungsi gantian Fungsi gantian PyCharm boleh membantu pembangun dengan cepat menggantikan teks yang ditentukan dalam kod

Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Bagaimana untuk mendapatkan pembolehubah daripada kaedah PHP menggunakan Ajax? Mar 09, 2024 pm 05:36 PM

Menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP adalah senario biasa dalam pembangunan web Melalui Ajax, halaman boleh diperoleh secara dinamik tanpa menyegarkan data. Dalam artikel ini, kami akan memperkenalkan cara menggunakan Ajax untuk mendapatkan pembolehubah daripada kaedah PHP, dan memberikan contoh kod khusus. Pertama, kita perlu menulis fail PHP untuk mengendalikan permintaan Ajax dan mengembalikan pembolehubah yang diperlukan. Berikut ialah kod contoh untuk fail PHP mudah getData.php:

Apa itu Dogecoin Apa itu Dogecoin Apr 01, 2024 pm 04:46 PM

Dogecoin ialah mata wang kripto yang dicipta berdasarkan meme Internet, tanpa had bekalan tetap, masa transaksi yang cepat, yuran transaksi yang rendah dan komuniti meme yang besar. Penggunaan termasuk transaksi kecil, petua dan sumbangan amal. Walau bagaimanapun, bekalan tanpa had, turun naik pasaran dan statusnya sebagai syiling jenaka juga membawa risiko dan kebimbangan. Apakah Dogecoin? Dogecoin ialah mata wang kripto yang dicipta berdasarkan meme dan jenaka internet. Asal dan Sejarah: Dogecoin dicipta pada Disember 2013 oleh dua jurutera perisian, Billy Markus dan Jackson Palmer. Diilhamkan oleh meme "Doge" yang popular ketika itu, gambar lucu yang memaparkan Shiba Inu dengan bahasa Inggeris yang rosak. Ciri dan Faedah: Bekalan Tanpa Had: Tidak seperti mata wang kripto lain seperti Bitcoin

Pengenalan terperinci fungsi Samsung S24ai Pengenalan terperinci fungsi Samsung S24ai Jun 24, 2024 am 11:18 AM

2024 ialah tahun pertama telefon mudah alih AI Semakin banyak telefon mudah alih menyepadukan berbilang fungsi AI Diperkasakan oleh teknologi pintar AI, telefon mudah alih kami boleh digunakan dengan lebih cekap dan mudah. Baru-baru ini, siri Galaxy S24 yang dikeluarkan pada awal tahun ini sekali lagi telah meningkatkan pengalaman AI generatifnya Mari lihat pengenalan fungsi terperinci di bawah. 1. Pemerkasaan AI generatif yang mendalam Siri Samsung Galaxy S24 telah membawa banyak aplikasi pintar melalui pemerkasaan Galaxy AI Fungsi ini disepadukan secara mendalam dengan Samsung One UI6.1, membolehkan pengguna memperoleh pengalaman pintar yang mudah pada bila-bila masa, dengan ketara. meningkatkan prestasi telefon bimbit Kecekapan dan kemudahan penggunaan. Fungsi carian segera yang dipelopori oleh siri Galaxy S24 adalah salah satu sorotan Pengguna hanya perlu menekan dan menahan

See all articles