搜尋
首頁微信小程式小程式開發微信小程式開發:http請求

在微信小程式進行網路通信,只能和指定的網域進行通信,微信小程式包括四種類型的網路請求。

  • 普通HTTPS請求(wx.request)

  • 上傳檔案(wx.uploadFile)

  • 下載檔案(wx.downloadFile)

  • 下載檔(wx.downloadFile)

這裡以介紹wx.request,wx.uploadFile,

wx.dowloadFile

三種網路請求為主

設定網域名稱

要微信小程式進行網路通訊,必須先設定網域,設定網域名稱:
要微信小程式。
URL 網域不合法,請在mp 後台配置後重試


需要在微信公眾平台的小程式中設定網域。

在微信小程式的設定介面可以看到設定選項:微信小程式開發:http請求

設定選擇

開發設定

微信小程式開發:http請求

:可以看到設定

開發設定


微信小程式開發:http請求
伺服器設定

在這裡可以設定對應四種網絡訪問的域名,每一種類型的網絡請求需要設置一個域名,注意如果在這裡設置域名https://example.com/api/,那麼

https://example.com/api
是無法呼叫的,必須加上後面/http請求

使用

wx.request

可以發起http請求,一個微信小程式被限制為同時只有5個網路請求

function queryRequest(data){    
    wx.request({
        url:"https://example.com/api/",
        data:data,
        header:{           // "Content-Type":"application/json"
        },
        success:function(res){            console.log(res.data)
        },
        fail:function(err){            console.log(err)
        }

    })

}
上面的程式碼會傳送一個http get請求,然後列印出回傳的結果。其中的參數也比較容易理解。

  • url

    伺服器的url位址

  • data

    伺服器的url位址data 請求的參數可以採用String

    data:"xxx=xxx&xxx=xxx"
  • 請求的參數可以採用String
  • 的形式

  • header
  • 設定請求的header

  • success
  • 介面成功的回調

裡:

  • method http的方法,預設為GET請求

  • complete 呼叫介面結束之後的回調,無論成功或失敗該介面都會被呼叫。為

    wx.uploadFile
  • ,api會啟動一個
http post

請求,其中的

Content-type

multipart/form-data。伺服器端需要按照該Content-type類型接收檔案,範例程式碼:<pre class='brush:php;toolbar:false;'>function uploadFile(file,data) { wx.uploadFile({ url: &amp;#39;http://example.com/upload&amp;#39;, filePath: file, name: &amp;#39;file&amp;#39;, formData:data, success:function(res){ console.log(res.data) }, fail:function(err){ console.log(err) } }) }</pre>其中的urlheader

success

fail以及successfail以及 (微信小程式應用號交流群563752274)這裡有區別的參數是:

  • name

    檔案對應的key,伺服器端需要透過name參數取得檔案。可以使用的其他參數

  • 下載檔案下載檔案的api為

    wx.downloadFile
  • ,該api會啟動http get請求,並在下載成功之後返回檔案的臨時路徑,範例程式碼:
function downloadFile(url,typ,success){
    wx.downloadFile({
        url:url,
        type:typ,
        success:function(res){            if(success){
                success(res.tempFilePath)
            }
        },
        fail:function(err){            console.log(err)
        }
    })
}

function svaeFile(tempFile,success){
  wx.saveFile({
      tempFilePath:tempFile,
      success:function(res){          
      var svaedFile=res.savedFilePath          
      if(success){
              success(svaeFile)
          }
      }
  })
}

其中的

url,header

,

fail,completewx.uploadFile的參數使用是一致的,其中有區別的參數是:用於客戶端自動識別,可以使用的參數image/audio/video

  • success

    :下載成功之後的回調,以tempFile '文件路徑'}下載成功後的是臨時文件,只會在程式本次運行期間可以使用,如果需要持久的保存,需要調用方法wx.saveFile

    主動持久化文件,實例代碼:
  • "networkTimeout":{   
    "request": 10000,   
    "connectSocket": 10000,   
    "uploadFile": 10000,   
    "downloadFile": 10000
    }
  • 使用

    wx.saveFile保存臨時檔案到本地,提供給小程式下次啟動時使用,其中的參數:

  • tempFilePath 需要被保存文件的路径

  • success 保存成功的回调,返回保存成功的路径,使用res.savedFilePath可以获取保存成功的路径

  • fail 失败的回调

  • complete结束的回调

超时的设置

在微信小程序开发:MINA中已经提到了在app.js中设置networkTimeout可以设置四种类型网络访问的超时时间:

"networkTimeout":{   
"request": 10000,   
"connectSocket": 10000,   
"uploadFile": 10000,   
"downloadFile": 10000
}

这里设置的超时时间对应着四种类型的网络请求。

更多微信小程式開發:http請求相关文章请关注PHP中文网!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )專業的PHP整合開發工具

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版