Penggunaan $.ajax Jquery:
jQuery.ajax( pilihan ): Muatkan data jauh melalui permintaan HTTP Ini adalah pelaksanaan AJAX yang mendasari jQuery . Untuk pelaksanaan peringkat tinggi yang ringkas dan mudah digunakan, lihat $.get, $.post, dsb.
$.ajax() mengembalikan objek XMLHttpRequest yang diciptanya. Dalam kebanyakan kes, anda tidak perlu memanipulasi objek ini secara langsung, tetapi dalam kes khas ia boleh digunakan untuk menamatkan permintaan secara manual.
Nota: Jika anda menentukan pilihan dataType, pastikan pelayan mengembalikan maklumat MIME yang betul (cth. xml mengembalikan "teks/xml"). Jenis MIME yang salah boleh menyebabkan ralat yang tidak dapat diramalkan. Lihat Menentukan Jenis Data untuk Permintaan AJAX.
Apabila jenis data ditetapkan kepada 'skrip', semua permintaan POST jauh (bukan dalam domain yang sama) akan ditukar kepada GET.
$.ajax() hanya mempunyai satu parameter: kunci parameter/objek nilai, termasuk setiap konfigurasi dan maklumat fungsi panggil balik. Lihat pilihan parameter terperinci di bawah.
Dalam jQuery 1.2, anda boleh memuatkan data JSON merentas domain Apabila menggunakannya, anda perlu menetapkan jenis data kepada JSONP. Apabila memanggil fungsi menggunakan format JSONP, seperti "myurl?callback=?"jQuery akan secara automatik menggantikan ? Apabila jenis data ditetapkan kepada "jsonp", jQuery akan memanggil fungsi panggil balik secara automatik. (Saya tidak begitu memahami perkara ini)
senarai parameter ajax jquery:
url(String)
(Lalai: alamat halaman semasa) Alamat untuk menghantar permintaan.
jenis(String)
Kaedah permintaan (terdapat dua parameter: "POST" dan "GET"), lalainya ialah "GET". Nota: Kaedah permintaan HTTP lain seperti PUT dan DELETE juga boleh digunakan, tetapi hanya disokong oleh sesetengah penyemak imbas.
masa tamat(Nombor)
Tetapkan tamat masa permintaan (milisaat). Tetapan ini mengatasi tetapan global.
async(Boolean)
(Lalai: benar) Apabila ditetapkan kepada benar, semua permintaan adalah permintaan tak segerak. Jika anda perlu menghantar permintaan segerak, tetapkan pilihan ini kepada palsu. Ambil perhatian bahawa permintaan segerak akan mengunci penyemak imbas, dan pengguna mesti menunggu permintaan itu selesai sebelum operasi lain boleh dilakukan.
beforeSend(Function)
Anda boleh mengubah suai fungsi objek XMLHttpRequest sebelum menghantar permintaan, seperti menambah pengepala HTTP tersuai. Objek XMLHttpRequest ialah satu-satunya parameter.
function(XMLHttpRequest){ this; // the options for this ajax request} cache(Boolean)
Sama ada untuk cache hasil permintaan (lalai : true) , menetapkannya kepada false tidak akan memuatkan maklumat permintaan daripada cache penyemak imbas Ambil perhatian bahawa adalah lebih baik untuk menetapkannya kepada palsu pada peringkat awal pembangunan, jika tidak, ia akan menyusahkan untuk nyahpepijat.
lengkap(Fungsi)
Fungsi panggil balik selepas permintaan selesai (dipanggil apabila permintaan berjaya atau gagal). Parameter: objek XMLHttpRequest, rentetan maklumat kejayaan.
function(XMLHttpRequest,textStatus){ this;//theoptionsforthisajaxrequest }
contentType(String)
( Lalai: " application/x-www-form-urlencoded") Jenis pengekodan kandungan semasa menghantar maklumat ke pelayan. Nilai lalai sesuai untuk kebanyakan aplikasi.
data(Objek,String)
Data dihantar ke pelayan. Akan ditukar secara automatik kepada format rentetan permintaan. Dilampirkan pada URL dalam permintaan GET. Lihat perihalan pilihan processData untuk melumpuhkan penukaran automatik ini. Mesti dalam format Kunci/Nilai. Jika ia adalah tatasusunan, jQuery secara automatik akan memberikan nama yang sama kepada nilai yang berbeza. Contohnya, {foo:["bar1", "bar2"]} ditukar kepada '&foo=bar1&foo=bar2'.
dataType(String)
Tentukan jenis data yang dikembalikan oleh pelayan. Jika tidak dinyatakan, jQuery akan mengembalikan responseXML atau responseText secara automatik berdasarkan maklumat MIME paket HTTP dan menghantarnya sebagai parameter fungsi panggil balik Nilai yang tersedia:
"xml": Mengembalikan data format XML, yang boleh diproses oleh jQuery.
"html": Mengembalikan data format HTML teks biasa boleh mengandungi elemen skrip.
"skrip": Mengembalikan kod JavaScript teks biasa. Keputusan tidak dicache secara automatik.
"json": Mengembalikan data JSON.
"jsonp": format JSONP. Apabila memanggil fungsi menggunakan format JSONP, seperti "myurl?callback=?"jQuery akan secara automatik menggantikan ?
ralat(Fungsi)
(Lalai: penghakiman automatik (xml atau html)) Kaedah ini akan dipanggil apabila permintaan gagal. Kaedah ini mengambil tiga parameter: objek XMLHttpRequest, mesej ralat dan (mungkin) objek ralat yang ditangkap.
Kodnya adalah seperti berikut
function(XMLHttpRequest,textStatus,errorThrown){ //通常情况下textStatus和errorThown只有其中一个有值 this;//theoptionsforthisajaxrequest }
global(Boolean)
是否触发全局 AJAX 事件(默认: true) 。设置为 false 将不会触发全局 AJAX 事件,如 ajaxStart 或 ajaxStop 。可用于控制不同的Ajax事件
ifModified(Boolean)
(默认: false) 仅在服务器数据改变时获取新数据。使用 HTTP 包 Last-Modified 头信息判断。
processData(Boolean)
设置发送数据的信息格式(默认: true),设置为 true 的时候发送的数据将被转换为对象(技术上讲并非字符串) 以配合默认内容类型 "application/x-www-form-urlencoded"。如果要发送 DOM 树信息或其它不希望转换的信息,请设置为 false。
success(Function)
请求成功后回调函数。这个方法有两个参数:服务器返回数据,返回状态
代码如下:
function(data,textStatus){ //datacouldbexmlDoc,jsonObj,html,text,etc... this;//theoptionsforthisajaxrequest }
下面以一则示例解释一下该方法的具体的用法:
$.ajax({ type:'get', url:'http://www.www.daimajiayuan.com/rss', beforeSend:function(XMLHttpRequest){ //ShowLoading(); }, success:function(data,textStatus){ $('.ajax.ajaxResult').html(''); $('item',data).each(function(i,domEle){ $('.ajax.ajaxResult').append(''+$(domEle).children('title').text()+''); }); }, complete:function(XMLHttpRequest,textStatus){ //HideLoading(); }, error:function(){ //请求出错处理 } });
Jquery的$.post的用法:
3. jQuery.post( url, [data], [callback], [type] ) :使用POST方式来进行异步请求
jquery $.post 方法参数列表(说明):
url (String) : 发送请求的URL地址.
data (Map) : (可选) 要发送给服务器的数据,以 Key/value 的键值对形式表示,可将此值放到url中。
callback (Function) : (可选) 载入成功时回调函数(只有当Response的返回状态是success才能调用该方法)。
type (String) : (可选)客户端请求的数据类型(JSON,XML,等等)
这是一个简单的 POST 请求功能以取代复杂 $.ajax ,请求成功时可调用回调函数。如果需要在出错时执行函数,请使用 $.ajax。
下面是一个使用$.post的简单示例代码:
$.post( 'http://www.daimajiayuan.com/ajax.php', {Action:"post",Name:"lulu"}, function(data,textStatus){ //data可以是xmlDoc,jsonObj,html,text,等等. //this;//这个Ajax请求的选项配置信息,请参考jQuery.get()说到的this alert(data.result); }, "json"//这里设置了请求的返回格式为"json" );
如果你设置了请求的格式为"json",此时你没有设置Response回来的ContentType 为:Response.ContentType = "application/json"; 那么你将无法捕捉到返回的数据。
注意,上面的示例中 alert(data.result); 由于设置了Accept报头为"json",这里返回的data就是一个对象,因此不需要用eval()来转换为对象。
以上所述就是本文的全部内容了,希望大家能够喜欢。
【相关教程推荐】
1. JavaScript视频教程
2. JavaScript在线手册
3. bootstrap教程