uniapp微信小程序 pc端网络请求失败,但是在安卓、ios 端真机没问题
报错: {errMsg: "request:fail Network Error"}
代码:
uni.request({
url: 'https://mapi-test.xisaiwang.cn/app/v3/product/hemberSku.do',
method: 'POST',
dataType: 'json',
data: {
classifyId: '1:109:236:242:'
},
header: {
Host: "mapi-test.xisaiwang.cn",
clientType: "WXAPP",
"content-type": "application/x-www-form-urlencoded;charset=utf-8",
pkg: "wxcbc57185d84eeeb2",
sscc: "1fbbda4fc736f73f45024654725760a3",
userDevice: "wxxcx",
v: "1.6",
wxAPPId: "wxcbc57185d84eeeb2"
},
success: function(res) {
console.log('单独请求 success', res);
},
complete(e) {
// 请求完成
console.log("单独请求 请求完成", e);
},
fail: function(err) {
console.log("单独请求 请求失败", err);
}
});
基于new bing部分指引作答:
根据你提供的代码和错误信息,看起来问题出在网络请求上。错误提示"request:fail Network Error"表明网络请求失败。
在安卓和iOS端正常工作,但在微信小程序的PC端出现问题。这可能是由于微信小程序在不同平台上的环境差异导致的。
根据你提供的代码,我看不出明显的错误。不过,有几个建议可以尝试修改代码来解决问题:
修改请求方式:尝试将请求方式从POST改为GET,看看是否能够正常请求数据。
uni.request({
url: 'https://mapi-test.xisaiwang.cn/app/v3/product/hemberSku.do',
method: 'GET',
// ...
success: function(res) {
console.log('单独请求 success', res);
},
// ...
});
修改数据格式:尝试将数据格式从application/x-www-form-urlencoded改为application/json,并将数据作为JSON对象发送。
uni.request({
url: 'https://mapi-test.xisaiwang.cn/app/v3/product/hemberSku.do',
method: 'POST',
dataType: 'json',
data: {
classifyId: '1:109:236:242:'
},
header: {
// ...
"content-type": "application/json",
// ...
},
// ...
});
移除特定请求头:尝试移除一些特定的请求头,如Host、pkg、sscc、userDevice、v和wxAPPId,看看是否会影响请求结果。
uni.request({
url: 'https://mapi-test.xisaiwang.cn/app/v3/product/hemberSku.do',
method: 'POST',
dataType: 'json',
data: {
classifyId: '1:109:236:242:'
},
header: {
"content-type": "application/json",
},
// ...
});
尝试上述修改后,重新测试代码,看看是否能够解决问题。
可能的原因包括:网络连接问题、跨域请求问题、请求头设置问题、请求数据格式问题、微信小程序自身问题
1、请求的URL或端口号不正确。
2、请求的数据格式不正确或数据缺失。
3、请求的HTTP方法不正确,例如使用了错误的HTTP方法。
4、请求超时或被服务器拒绝。
建议:尝试使用抓包工具(例如Fiddler、Wireshark等)分析网络请求和响应的细节,以便更好地定位问题。