我做了一个Cordova应用程序,使用ajax xml将地理数据(WFS)发送到服务器(geoserver)。服务器启用了CORS,并设置了CORS源过滤器(这是浏览器版本所需的,此过滤器目前设置为*,因此允许任何源)。任务后工作(!!)对于最多的Android 9,使用Android 10我得到一个"Error 403“,因为Android 10在POST中发送Origin:file://,意思是Origin "null”,这会导致这个错误。
我读了好几个小时的帖子,试图解决这个问题,但我还是做不到。
有没有人能帮我--那就太好了!
下面是我的Ajax-Post的js
transactWFS = function (mode, f) {
var node;
switch (mode) {
case 'insert':
node = formatWFS.writeTransaction([f], null, null, formatGML);
break;
case 'update':
node = formatWFS.writeTransaction(null, [f], null, formatGML);
break;
case 'delete':
node = formatWFS.writeTransaction(null, null, [f], formatGML);
break;
}
var payload = xs.serializeToString(node);
$.ajax('https://server.com/geoserver/database/ows', {
type: 'POST',
dataType: 'xml',
processData: false,
contentType: 'text/xml',
data: payload,
}).done(function () {
//sourceWFS.clear();
});
};html-head包含
<meta http-equiv="Content-Security-Policy" content="default-src *; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; media-src *; img-src 'self' data:">config.xml包含
<plugin name="cordova-plugin-whitelist" source="npm" spec="~1.3.4" />
<access origin="*" />
<allow-navigation href="*"/>发布于 2020-12-28 01:47:19
经过几天的工作,我可以通过将apache tomcat服务器更新到新版本来解决这个问题!这解决了使用CORS过滤器*的问题
发布于 2020-11-27 22:17:44
安装此插件https://github.com/globules-io/cordova-plugin-ios-xhr
然后将您的首选项设置为
<preference name="allowFileAccessFromFileURLs" value="true" />
<preference name="allowUniversalAccessFromFileURLs" value="true" />
<preference name="InterceptRemoteRequests" value="all" />https://stackoverflow.com/questions/65038057
复制相似问题