web-dev-qa-db-ja.com

Phonegap Cordova Ajax要求404(見つかりません)エラー

コルドバのバージョンは5.0.です

アプリがデバイスにデプロイされたときに行われたすべてのajaxリクエストに対して404エラーが表示されます。 Webブラウザーでは正常に機能しますが、デバイスに展開したときと同じアプリは機能しません。

問題を解決するために以下を追加しようとしましたが、助けにはなりませんでした。

Config.xml

<access Origin="*" />

AndriodManiest.xml

<uses-permission Android:name="Android.permission.INTERNET" />
<uses-permission Android:name="Android.permission.ACCESS_NETWORK_STATE" />
<uses-permission Android:name="Android.permission.READ_PHONE_STATE" />

また、index.htmlファイルに以下を追加しましたが、違いもありませんでした。

<script>
    $.support.cors=true;
</script>

ここの誰もがこの問題を解決するための別のトリックを持っていますか?.

どんな助けも素晴らしいでしょう。

58
Sahil

同じ問題が発生し、cordova-plugin-whitelistをインストールする必要がありました

cordova plugin add cordova-plugin-whitelist

クレジットはこのstackoverflowの記事に行きます- RLが機能しなくなったことをリクエストするAjaxコマンド

115
Derek Arends

実際にCordovaホワイトリストプラグインを追加する必要があります。

cordova plugin add cordova-plugin-whitelist

またはconfig.xmlファイルで:

<plugin name="cordova-plugin-whitelist" spec="1" />

ただし、オンラインphonegapビルドサービスを使用している場合、構文は異なります。 config.xmlファイルに次の行を追加する必要があります。

<gap:plugin name="cordova-plugin-whitelist" source="npm" />

クロスドメインリクエストを承認します。

<access Origin="*" />
<allow-intent href="*" />
<allow-navigation href="*" />

どこでもワイルドカードが使用され、すべてが許可されるため、これは推奨されません。ただし、テストには最適です。

22
Damien

これは私のために働いた。唯一の違いは、config.xmlを有効にするためにノードに配置する必要があることです。

以下の私の例:

<platform name="Android">
    <allow-intent href="market:*" />
    <access Origin="*" />
    <allow-intent href="*" />
    <allow-navigation href="*" />
</platform>
1
SeanBarberPro

Phonegapユーザー。この行をconfig.xmlに追加することが私にとっての解決策です。

<gap:plugin name="cordova-plugin-whitelist" source="npm" />
0