详细问题描述
(DCloud产品不会有明显的bug,所以你遇到的问题大都是在特定环境下才能重现的问题,请仔细描述你的环境和重现方式,否则DCloud很难排查解决你的问题)
[内容]安卓调用webservice接口可以获取返回值,IOS获取不到返回值
重现步骤
[步骤]用webservice请求时真机运行的ios没办法获取返回值
[结果]{"data":"<soap:Envelope xmlns:soap=\"http://schemas.xmlsoap.org/soap/envelope/\"><soap:Body><soap:Fault><faultcode>soap:Server</faultcode><faultstring>No such operation: (HTTP GET PATH_INFO: 路径)</faultstring></soap:Fault></soap:Body></soap:Envelope>","statusCode":500,"header":{"Date":"Fri, 06 Dec 2019 08:34:10 GMT","Content-Length":"270","Connection":"keep-alive","Content-Type":"text/xml;charset=UTF-8","Server":"nginx/1.16.1"},"errMsg":"request:ok"}
[期望]能够和安卓手机一样获取得到返回值
[如果语言难以表述清晰,拍一个视频或截图,有图有真相]
IDE运行环境说明
[HBuilder 或 HBuilderX。如果你用其他工具开发uni-app,也需要在此说明]
[IDE版本号]2.4.2.20191115
[windows版本号]window7 64位
[mac版本号]12.4.3
uni-app运行环境说明
[运行端是h5或app或某个小程序?]
[运行端版本号]H5
[项目是cli创建的还是HBuilderX创建的?如果是cli创建的,请更新到最新版cli再试]
[编译模式是老模板模式还是新的自定义组件模式?]
App运行环境说明
[Android版本号]
[iOS版本号]12.4.3
[手机型号]
[模拟器型号]
附件
[IDE问题请提供HBuilderX运行日志。菜单帮助-查看运行日志,点右键打开文件所在目录,将log文件压缩成zip包上传]
[App问题请提供可重现问题的代码片段,你补充的细一点,问题就解决的快一点]
[App安装包或H5地址]
[可重现代码片段]
mui.ajax('http://路径/webservice/Webservice',{
data:data,
dataType:"text",
type:'post',
crossDomain:true,
contentType: "text/xml; charset=utf-8",
xhrFields: {withCredentials: true},
crossDomain: true,
timeout:10000,
processData:false,
success:function(data){
console.log(data);
},
error:function(resp){
// console.log(resp);
}
});
//第二种请求方式
var xhr = new plus.net.XMLHttpRequest();
xhr.onreadystatechange = function (e) {
switch ( xhr.readyState ) {
case 0:
break;
case 1:
break;
case 2:
break;
case 3:
break;
case 4:
if ( xhr.status == 200 ) {
console.log( "xhr请求成功:"+xhr.responseText );
} else {
console.log( "xhr请求失败"+xhr.status);
}
break;
default :
break;
}
}
var data ="<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/' xmlns:web='http://路径/'><soapenv:Header/><soapenv:Body> 请求内容</soapenv:Body></soapenv:Envelope>";
xhr.open("POST", 'http://路径/webservice/Webservice');
xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
xhr.setRequestHeader('Accept','application/xml');
xhr.withCredentials=true;
xhr.send(data);
//参数怎么设置都是获取不了
联系方式
[QQ]659338841
撸三发 (作者)
我使用plus.net.XMLHttpRequest也会访问不了webservice接口
2019-12-06 17:34
撸三发 (作者)
demo里面含有plus.net.XMLHttpRequest的请求方式
2019-12-06 17:34
DCloud_heavensoft
回复 撸三发: 如果在plus ready后正常调用plus.net还无法访问,那就是接口有问题了
2019-12-06 17:53
DCloud_heavensoft
回复 DCloud_heavensoft: 注意wkwebview 的cookie管理很严格,无法跨域获取
2019-12-06 17:54