日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

原生及jq方式使用ajax

發(fā)布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 原生及jq方式使用ajax 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.原生js實現Ajax方法:

var Ajax={get: function (url,fn){var obj=new XMLHttpRequest(); // XMLHttpRequest對象用于在后臺與服務器交換數據 obj.open('GET',url,true); obj.onreadystatechange=function(){ if (obj.readyState == 4 && obj.status == 200 || obj.status == 304) { // readyState==4說明請求已完成 fn.call(this, obj.responseText); //從服務器獲得數據 } }; obj.send(null); }, post: function (url, data, fn) { var obj = new XMLHttpRequest(); obj.open("POST", url, true); obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // 發(fā)送信息至服務器時內容編碼類型 obj.onreadystatechange = function () { if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { // 304未修改 fn.call(this, obj.responseText); } }; obj.send(data); } }

注釋:

a.open() 方法需要三個參數:

 第一個參數定義發(fā)送請求所使用的方法(GET 還是 POST)。與 POST 相比,GET 更簡單也更快,并且在大部分情況下都能用。然而,在以下情況中,請使用 POST 請求:

  • 無法使用緩存文件(更新服務器上的文件或數據庫)
  • 向服務器發(fā)送大量數據(POST 沒有數據量限制)
  • 發(fā)送包含未知字符的用戶輸入時,POST 比 GET 更穩(wěn)定也更可靠

 第二個參數規(guī)定服務器端腳本的 URL(該文件可以是任何類型的文件,比如 .txt 和 .xml,或者服務器腳本文件,比如 .asp 和 .php (在傳回響應之前,能夠在服務器上執(zhí)行任務))。

 第三個參數規(guī)定應當對請求進行異步地處理(true(異步)或 false(同步))。

b.send() 方法可將請求送往服務器。

c.onreadystatechange 屬性存有處理服務器響應的函數。

d.readyState 屬性存有服務器響應的狀態(tài)信息。每當 readyState 改變時,onreadystatechange 函數就會被執(zhí)行。

2.jq方式實現Ajax方法:

$(document).ready(function(){ $("#search").click(function(){ $.ajax({ type: "GET", url: "http://127.0.0.1:8080/ajaxdemo/serverjson2.php?number=" + $("#keyword").val(), dataType: "json", success: function(data) { if (data.success) { $("#searchResult").html(data.msg); } else { $("#searchResult").html("出現錯誤:" + data.msg); } }, error: function(jqXHR){ alert("發(fā)生錯誤:" + jqXHR.status); }, }); }); $("#save").click(function(){ $.ajax({ type: "POST", url: "serverjson.php", data: { name: $("#staffName").val(), number: $("#staffNumber").val(), sex: $("#staffSex").val(), job: $("#staffJob").val() }, dataType: "json", success: function(data){ if (data.success) { $("#createResult").html(data.msg); } else { $("#createResult").html("出現錯誤:" + data.msg); } }, error: function(jqXHR){ alert("發(fā)生錯誤:" + jqXHR.status); }, }); }); });

注:

type:類型,“POST”或者“GET”,默認為“GET”
url:發(fā)送請求的地址
data:是一個對象連同請求發(fā)送到服務器的數據
dataType:預期服務器返回的數據類型。如果不指定,jQuery將自動根據包含HTTP包MIME信息來智能判斷,一般我們采用json格式,可以設置為“json”
success:是一個方法,請求成功后的回掉函數。傳入返回后的數據,以及包含成功代碼的字符串
error:是一個方法,請求失敗時調用此函數。傳入XMLHttpRequest對象

轉載于:https://www.cnblogs.com/rushjs/p/7094621.html

總結

以上是生活随笔為你收集整理的原生及jq方式使用ajax的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。