天天看點

微信小程式網絡請求配置問題及本地網絡請求測試解決方案

本文隻針對伺服器網站沒有備案或隻需要做本地網絡接口請求

一、問題引入

在小程式

demo.wxml

中聲明

button

控件,并設定點選事件,如下:

<button bindtap='testSendRequest'>網絡測試</button>
           

demo.js

中,對上述

button

點選事件進行處理,發送本地網絡請求,如下:

testSendRequest:function(){
    wx.request({
      url: "http://localhost:8083/test/index",
      success: function (response) {
          console.log("success");
      },
      fail:function(){
        console.log("fail");
      },
      complete: function () {
        console.log("complete");
      }
    })
  }
           

接下來,運作小程式,打開

調試器

,點選

button

按鈕,發現報錯如下:

VM199:1  http://localhost:8083 不在以下 request 合法域名清單中,請參考文檔:https://developers.weixin.qq.com/miniprogram/dev/framework/ability/network.html


VM199:1 request:fail url not in domain list
register.js? [sm]:53 fail
register.js? [sm]:56 complete
           

根據提示,該網絡請求并沒有走到

success

的回調,而是走到

fail

complete

回調。

二、問題原因

  1. 微信小程式要求必須配置域名,且伺服器域名需經過ICP備案。新備案域名需24小時後才可配置。域名格式隻支援英文大小寫字母、數字及“- ”,不支援IP位址。
  2. 如果本地測試,可以取消

    安全域名及HTTPS證書校驗

三、解決方案

  1. 微信web開發者工具

    設定

    ->

    項目設定

    ->

    項目設定

    勾選:

    不校驗安全域名、TLS 版本以及 HTTPS 證書

如下圖:

微信小程式網絡請求配置問題及本地網絡請求測試解決方案

此時,再次調用本地網絡請求,可以請求成功。

VM228:1 工具未校驗合法域名、web-view(業務域名)、TLS 版本以及 HTTPS 證書。
register.js? [sm]:50 success
register.js? [sm]:56 complete
           
  1. 針對線上的話,需要在微信小程式背景對域名進行配置
    微信小程式網絡請求配置問題及本地網絡請求測試解決方案