微信小程序 API 網絡(ajax)

  網絡 API 相似於 ajax 向服務器請求網絡地址,惟一不一樣的是這個請求有不少的規則,且必須向服務器上請求,不能在本地請求ajax

  網絡json

    發送請求:數組

      wx.request()  發起https網絡請求  參數:對象緩存

      對象的屬性:服務器

        url:類型  字符串  開發者服務器的接口地址(且擁有諸多的限制,必須是https的網絡請求)網絡

        如圖:tcp

        

        若是咱們沒有合法的域名,也能進行測試:函數

          咱們須要對調試基礎庫的選項進行打勾就行了post

        data:類型  字符串/對象/數組/緩存  請求的參數測試

        header:類型  對象  請求設置的 header  (獲得數據的返回值,默認是 json 格式,咱們都知道在服務器請求到的數據都是字符串)   

        method:類型  字符串  請求的方式:

          屬性值:options / get / head / post / put / delete / tract / connect  這是請求的方式

        dataType:類型  字符串  返回的數據格式

          屬性值:json  會對返回的數據爲 json,若是不是,會對返回的數據進行一次 JSON.parse()

              其餘  不對返回的內容進行JSON.parse()

        responseType:類型  字符串  響應的數據類型

          屬性值:text  響應的數據爲 文本

              arraybuffer  響應的數據爲 ArrayBuffer

         success:類型  函數  接口返回成功的回調函數  對象對象上擁有3個屬性

          屬性值:

            data:類型  字符串/對象/數組/緩存  開發者服務器返回的數據

            statusCode:類型  數字  開發者服務器返回的 http 碼

            header:類型  對象  開發者服務器返回的 HTTP Response Header

    RequestTask  網絡請求的任務對象(擁有屬性和方法)

      RequestTask.abort()  中斷請求的任務  直接執行

      RequestTask.onHeadersReceived()  監聽 HTTP Response Header 事件,會比請求完成事件更早  參數:回調函數 (事件對象的 header 屬性)返回值:開發者服務器返回 HTTP Response Header

      RequestTask.offHeadersReceived()  取消監聽 HTTP Response Header 事件  參數:回調函數

    下載:

      wx.downloadFile()  下載文件資源到本地,客戶端直接發起一個 HTTPS GET 請求,返回文件的本地臨時路徑,單次下載容許的最大文件爲 50 MB   參數:對象

              注意:請在服務端響應的 header 中指定合理的 Content-Type 字段,以保證客戶端正確處理文件類型

      對象的屬性:

        url:類型  字符串  下載資源的url

        header:類型  object  HTTP 請求的 Header,Header 中不能設置 Referer

        filePath:類型  字符串  指定文件下載後的儲存路徑

        success:類型  函數  接口調用成功後的回調函數  

          事件對象上的屬性:

            tempFilePath:類型  字符串  臨時文件的路徑,沒傳入 filePath 指定文件儲存路徑時會返回,下載後的文件儲存到一個臨時文件

            filePath:類型  字符串  用戶文件路徑,傳入 filePath 時會返回,跟傳入的 filePath 一致

            statusCode:類型  數字  開發者服務器返回的 HTTP 狀態碼

    DownloadTask:一個能夠監聽下載進度變化事件,以及取消下載任務的對象 (擁有屬性和方法)

      Download.abort()  中斷下載任務

      DownloadTask.onProgressUpdate()  監聽下載進度變化事件  參數:回調函數

        事件對象的屬性:

          progress:下載進度百分比

          res.totalBytesWritten:已經下載的數據長度

          res.totalBytesExpectedToWrite:預期須要下載的數據總長度

    DownloadTask.offProquressUpdate()  取消監聽下載進度變化事件  直接使用

    DownloadTask.onHeadersReceived()  監聽 HTTP Response Header 事件,會比請求完成事件更早  參數:回調函數

    DownloadTask.offHeadersReceived()  取消監聽 HTTP Response Header 事件

 

    上傳:

      wx.uploadFile()  將本地資源上傳到服務器,客戶端發起一個 HTTPS POST 請求,其中 content-type 爲 multipart/form-data。  參數:對象

      對象的屬性:

        url:類型  字符串  開發者服務器地址

        filePath:類型  字符串  要上傳的文件資源路徑

        name:類型  字符串  文件對應的 key ,開發者能夠經過 key 獲取文件的二進制內容

        header:類型  對象  HTTP 請求 Header,Header 中不能設置 Referer

        formData:類型  對象  HTTP 請求中其餘額外的 form data

        success:類型  函數  接口調用成功的回調函數  

          事件對對象上的屬性

            data:類型  字符串  開發者服務器返回的數據

            statusCode:類型  數字  開發者服務器返回的 HTTP 狀態碼

      uploadTask:一個能夠監聽上傳進度變化事件,以及取消上傳任務的對象(擁有屬性和方法)

      uploadTask.abort():中斷上傳任務

      UploadTask.onProgressUpdate():監聽上傳進度變化事件

        事件對象的屬性

          progress:上傳進度百分比

          totalBytesSent:已經上傳的數據長度

          totalBytesExpectedToSend:預期須要上傳的數據總長度

      UploadTask.offProgressUpdate():取消監聽上傳進度變化事件

      UploadTask.onHeadersReceived():監聽 HTTP Response Header 事件,會比請求完成事件更早

      UploadTask.offHeadersReceived():取消監聽 HTTP Response Header 事件

  WebSocket

    wx.sendSocketMessage():經過 WebSocket 鏈接發送數據,須要線 wx.connectSocker,並在 wx.onSocketOpen 回調以後才能發送   參數:對象

      對象的屬性:

        data:類型  字符串/數組/緩存  須要發送的內容

    wx.onSocketOpen():監聽 WebSocket 鏈接打開事件  參數:回調函數

      事件對象的屬性:

        header:類型  對象  鏈接成功的 HTTP 響應 Header

    wx.onSocketMessage():監聽 WebSocket 接受到服務器的消息事件  參數:回調函數

      事件對象:

        data:類型  對象/數組/緩衝  服務器返回的消息

    wx.onSocketError():監聽 WebSocket 錯誤事件

    wx.connectSocket():建立一個 WebSocket 鏈接  參數:對象

      對象的屬性:

        url:類型  字符串  (必填)  開發者服務器 wss 接口地址

        header:類型  對象  HTTP 請求 Header (注意:這個 Header 中不能設置 Referer)

        protocols:類型  數組  子協議數組

        tcpNoDelay:類型  布爾  創建 TCP 鏈接的時候 TCP_NODELAY 設置

    wx.closeSocket():關閉 WebSocket 鏈接  參數:對象

      對象的屬性:

        code:類型  數字  一個數字表示關閉鏈接的狀態號,表示被關閉的緣由

        reason:類型  字符串  一個可讀的字符串,表示被關閉的緣由

    

    SocketTask:WebSocket 任務,可經過 wx.connectSocket() 接口建立返回的對象(擁有屬性和方法)

    SocketTask.send():經過 WebSocket 鏈接發送數據

    SocketTask.close():關閉 WebSocket 鏈接

    SocketTask.onOpen():監聽 WebSocket 鏈接打開事件

    SocketTask.onClose():監聽 WebSocket 鏈接關閉事件

    SocketTask.onError():監聽 WebSocket 錯誤事件

    SocketTask.onMessage():監聽 WebSocket 接受到服務器的消息事件

  mDNS

    wx.stopLocalServiceDiscovery()  中止搜索 mDNS 服務  參數:對象

      對象的屬性:

        success:類型  成功  參數:回調函數

        事件對象上的屬性:

          errMsg:類型  字符串  

            屬性值:task not found  在當前沒有處在搜索服務中調用 stopLocalServiceDiscovery

    wx.startLocalServiceDiscovery()  開始搜索局域網下的 mDNS 服務,搜索的結果會經過 wx.onLocalService 事件返回  參數:對象

      對象的屬性:

        serviceType:類型  字符串  要搜索的服務類型

        success:事件對象的屬性:

          errMsg:類型  字符串  錯誤信息

            屬性值:invalid param  serviceType 爲空

                scan task already exist  當前 startLocalServiceDiscovery() 發起搜索未中止的狀況下,在次調用 startLocalServiceDiscovery()

    wx.onLocalServiceResolveFail()  監聽 mDNS 服務解析失敗事件  參數:回調函數

      事件對象上的屬性:serviceType:類型  字符串  服務的類型  

               serviceName:類型  字符串  服務的名字

    wx.onLocalServiceLost()  監聽 mDNS 服務離開事件  參數:回調函數

      事件對象上的屬性:serviceType:類型  字符串  服務的類型

               serviceName:類型  字符串  服務的名字

    wx.onLocalServiceFound()  監聽 mDNS 服務發現的事件  參數:回調函數

      事件對象上的屬性:serviceType:類型  字符串  服務的類型

               serviceName:類型  字符串  服務的名字

               ip:類型  字符串  服務器的 ip 地址

               port:類型  數字  服務器的端口

    wx.onLocalServiceDiscoveryStop()  監聽 mDNS 服務中止搜索的事件  參數:回調函數

    wx.offLocalServiceResolveFail()  取消監聽 mDNS 服務解析失敗的事件  參數:回調函數

    wx.offLocalServiceLost()  取消監聽 mDNS 服務離開的事件  參數:回調函數

    wx.offLocalServiceFound()  取消監聽 mDNS 服務發現的事件  參數:回調函數

    wx.offLocalServiceDiscoveryStop()  取消監聽 mDNS 服務中止搜索的事件  參數:回調函數

  UDP通訊

    wx.createUDPSocket()  建立一個 UDP Socket 實例  返回值:一個UDP Socket 的實例對象

    UDPSocket  一個 UDP Socket 的 實例,默認使用 IPv4 協議 

    實例的方法:

      UDPSocker.bind()  綁定一個系統隨機分配的可用端口

      UDPSocket.send()  向指定的 IP 和 port 發送消息

      UDPSocket.close()  關閉UDP Socket 實例,至關於銷燬。在關閉以後,UDP Socket 實例不能在發送消息,每次調用 UDP Socket.send 將會觸發錯誤事件,而且 message 事件回調函數也不會在執行。在UDP Socket 實例被建立後將被 Native 強引用,保證其不被GC。在UDPSocket.close 後將被解除對其的強引用,讓 UDPSocket 實例聽從 GC。

      UDPSocket.onClose()  監聽關閉事件  參數:回調函數

      UDPSocket.offClose()  取消監聽關閉事件  參數:回調函數

      UDPSocket.onError()  監聽錯誤事件

      UDPSocket.offError()  取消監聽錯誤事件  

      UDPSocket.onListening()  監聽開始監聽數據包消息的事件

      UDPSocket.offListening()  取消監聽開始監聽數據包消息的事件

      UDPSocket.onMessage()  監聽收到消息的事件

      UDPSocket.offMessage()  取消監聽收到消息的事件

相關文章
相關標籤/搜索