我有一个接受post请求的Java REST服务。我的打包为Android应用程序的Cordova无法发出post请求。
我得到一个403禁止的错误。我知道很多人都提出了很多建议。所有这些我都试过了,但还是解决不了。任何帮助都会大有帮助。
我的Cordova配置文件如下所示。
<content src="index.html" />
<plugin name="cordova-plugin-whitelist" spec="1" />
<access origin="*" />
<access uri="*" subdomains="true" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
<platform name="android">
<allow-intent href="*" />
</platform>
<platform name="ios">
<allow-intent href="itms:*" />
<allow-intent href="itms-apps:*" />
</platform>
我试图根据某人的建议删除。但仍然不起作用。
您在Ajax中使用cookie吗?
var request = new XMLHttpRequest(),
data = {name:'name'},
url = 'https://example.com';
request.setRequestHeader("cookieItem1", "cookieContent1");
request.setRequestHeader("cookieItem2", "cookieContent2");
request.open("POST", url);
request.send(JSON.stringify(data));
我试图解决这个问题。
以防万一有人碰到这个。问题可能是由于CORS问题。通常,cordova应用程序中的http调用设置了origin=file://header。某些web服务器可能具有安全过滤器以防止安全攻击。
最简单的方法是确保您正在执行http请求的服务器在原始标头具有file://value时不会阻止它们。请参见此处
否则,您需要在发出请求之前找到一种将标头更改为其他内容的方法。