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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

JS使用XMLHttpRequest对象POST收发JSON格式数据

發布時間:2023/12/10 asp.net 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JS使用XMLHttpRequest对象POST收发JSON格式数据 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

JavaScirpt中的XMLHttpRequest對象提供了對 HTTP 協議的完全訪問,使用該對象可以在不刷新頁面的情況與服務器交互數據。XMLHttpRequest是實現AJAX技術的關鍵對象,本站曾整理過一篇介紹該對象的文章: JS使用XMLHttpRequest對象與服務器進行數據交互 ,今天將介紹使用XMLHttpRequest對象收發JSON格式數據。

應用場景

在工作中有一個應用需要使用驗證碼,在用戶輸入驗證碼后,使用AJAX技術將用戶輸入內容提交到服務器端進行驗證。服務器端數據的收發都是基于JSON格式的,因此,在發送數據時需要設置數據的請求格式,收到服務器響應內容后也要對數據進行處理。

關鍵代碼

var captcha = document.getElementsByName('captcha')[0]; //用戶輸入驗證碼的input captcha.onchange = function(){var xhr = new XMLHttpRequest();//使用HTTP POST請求與服務器交互數據xhr.open("POST", "/captcha", true);//設置發送數據的請求格式xhr.setRequestHeader('content-type', 'application/json');xhr.onreadystatechange = function() {if (xhr.readyState == 4) {//根據服務器的響應內容格式處理響應結果if(xhr.getResponseHeader('content-type')==='application/json'){var result = JSON.parse(xhr.responseText); //根據返回結果判斷驗證碼是否正確if(result.code===-1){alert('驗證碼錯誤');}} else {console.log(xhr.responseText);}}}var sendData = {captcha:this.value};//將用戶輸入值序列化成字符串xhr.send(JSON.stringify(sendData)); }

相關代碼解釋

xhr.open(“POST”, “/captcha”, true):這一句傳入了三個參數,第一個參數POST是HTTP請求類型為。/captcha是請求路由,即:請求網址。true表示這是一個異步請求。

xhr.setRequestHeader(‘content-type’, ‘application/json’):這一句實際上是在HTPP請求的header中添加content-type。

xhr.getResponseHeader(‘content-type’)===‘application/json’:這一句是判斷服務器的響應內容格式,如果是’application/json’格式就說明可以轉換為JSON對象,之后客戶端就可以按JSON對象格式進行數據處理。

xhr.send(JSON.stringify(sendData)):xhr.send()方法要求傳入數據格式是字符串或Document對象,但傳入數據是一個Object,所以需要使用JSON.stringify()將其序列化成字符串。

總結

以上是生活随笔為你收集整理的JS使用XMLHttpRequest对象POST收发JSON格式数据的全部內容,希望文章能夠幫你解決所遇到的問題。

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