这个 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: () => {
//错误
}
})
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)