微信小程序 Header 参数一记

微信小程序 Header 参数一记,第1张

如以下文件上传的请求,Header 中 定义了 accessKey 参数。

这个 Header 中的 accessKey 在开发环境是不会做改变的,服务器接收到的还是 accessKey ,但是在真机环境下就不一样的,会变成 accesskey ,全部小写了。当使用 actionContext.Request.Headers 的 Key = 来取时,问题就来了。

使用 HttpContext.Current.Request["accessKey"] 则没问题,应该是它大小写无关的原因。

特此一记,以避后坑!

微信小程序中wx.request所调用域名是有严格规定的,不是随便用个url就行的,下面是官方文档的说明:

每个微信小程序需要事先设置一个通讯域名,小程序只可以跟指定的域名与进行网络通信。包括普通 HTTPS 请求(request)、上传文件(uploadFile)、下载文件(downloadFile) 和 WebSocket 通信(connectSocket)

配置流程

服务器域名请在 「小程序后台-设置-开发设置-服务器域名」 中进行配置,配置时需要注意:

域名只支持 https (request、uploadFile、downloadFile) 和 wss (connectSocket) 协议;

域名不能使用 IP 地址或 localhost;

域名必须经过 ICP 备案;

出于安全考虑,api.weixin.qq.com 不能被配置为服务器域名,相关API也不能在小程序内调用。 开发者应将 appsecret 保存到后台服务器中,通过服务器使用 appsecret 获取 accesstoken,并调用相关 API;

对于每个接口,分别可以配置最多 20 个域名。

这要看你的后端是以什么形式给前端返回信息的。比如说是纯文本格式(以php为例):

header("Content-Type:text/html")

echo "100"

那么小程序中可以这样来判断(假定100就表示成功):

wx.request({

    url: "......",

    success: res => {

        if (res.data == "100") {   /*此时res.data就是个字符串*/

            //成功

        } else {

            //失败

        }

    },

    fail: () => {

        //错误

    }

})

如果后端以json对象格式返回数据,比如:

header("Content-Type:application/json")

echo "{'code':'100','msg':'成功'}"

那么小程序中则这样判断:

wx.request({

    url: "......",

    success: res => {

        if (res.data.code == "100") {   /*这个res.data则是个json对象*/

            //成功

        } else {

            //失败

        }

    },

    fail: () => {

        //错误

    }

})


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/12151595.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存