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

歡迎訪問 生活随笔!

生活随笔

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

编程问答

Ajax学习系列——向服务器发送请求

發布時間:2023/12/20 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ajax学习系列——向服务器发送请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1、如何發送請求?

如果需要向服務器發送請求,我們使用的是XMLHttpRequest對象中的open()和send()方法。

var xhr = new XMLHttpRequest();//具體創建對象方法可以參考我的上一篇博客。 xhr.open("GET","http://www.baidu.com",true); xhr.send();

open(method,url,async)函數參數介紹:

  • method:請求的類型;只可能是GET或POST;
  • url:服務器地址或請求的文件在服務器的位置;
  • async:true(異步請求)或false(同步請求)

send(string)函數參數介紹:

  • string:僅用于POST請求,表示請求攜帶的數據,必須轉換成字符串類型才可以發送請求。

2、使用GET還是POST?

和POST相比,GET更簡單而且更快,大部分情況下使用的都是GET請求,默認請求類型也是GET,POST請求適用于以下情況:

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

帶參數的GET、POST請求實例:

//GET請求 xhr.open("GET","/Login?username=root&password=root",true); xhr.send(); //POST請求 xhr.open("POST","/Login",true); xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded");//向請求添加HTTP頭,固定寫法。 xhr.send("username=root&password=root");

3、true(異步)還是false(同步)?

下面給大家介紹一個場景,可以更好的理解同步和異步的區別:

一個人在網上購買了一個東西,如果他一直在家等,在這個期間,老板讓他去上班不去,一直等到快遞到了之后才去干其他的事情,這就是同步;如果他先去上班,等到快遞到了再去拿,這就是異步。

同步和異步的區別就是如此:是一直等待一個請求完成才去干別的事情還是在請求未完成時就去干別的事情等待請求完成。

  • XMLHttpRequest對象如果要用戶Ajax的話,必須使用異步請求,即async設置為true

async = true

當使用異步請求時,請規定在相應處于onreadystatechange事件中的就緒狀態時執行的函數,實例如下:

xhr.onreadystatechange=function() { if (xhr.readyState==4 && xhr.status==200) { document.getElementById("myDiv").innerHTML=xhr.responseText; } } xhr.open("GET","/GetInfo",true); xhr.send();

readyState和status

async = false

在發送同步請求時,請不要寫onreadystatechange函數,直接把代碼放在send方法下面即可

xhr.open("GET","/GetInfo",false); xhr.send(); document.getElementById("myDiv").innerHTML=xhr.responseText;

?

轉載于:https://www.cnblogs.com/guo-xu/p/10506931.html

總結

以上是生活随笔為你收集整理的Ajax学习系列——向服务器发送请求的全部內容,希望文章能夠幫你解決所遇到的問題。

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