Cordova Android App无法发布403 Forbidden

时间:2016-12-13 03:14:32

标签: cordova http-status-code-403

我有一个Java REST服务,它接受邮件请求。我的Cordova打包为Android应用程序无法发布请求。

我收到403 Forbidden错误。我知道很多人提出了很多建议。我已经尝试了所有这些但仍然无法解决。任何帮助都会有很大帮助。

我的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>

我尝试根据某人的建议删除。但仍然无效。

2 个答案:

答案 0 :(得分:0)

你在Ajax中使用cookies吗?

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));

我试过这个来解决这个问题。

答案 1 :(得分:0)

以防有人碰到这个。问题可能是由于CORS问题。通常来自cordova应用程序内的http调用具有 origin = file:// 标头集。某些Web服务器可能具有安全过滤器以防止安全攻击。

最简单的方法是确保您正在执行http请求的服务器在 origin 标头具有 file:// 值时不会阻止它们。见here

否则,您需要找到一种方法在发出请求之前将标题更改为其他内容。