1

Tizen システムのアプリケーションで、クロス オリジン AJAX リクエストを作成しました。Tizen のブラウザでは問題なく動作しますが、Web アプリケーションとしてパッケージ化すると、クロス オリジン リクエストが機能しません。エミュレータと実際のデバイスの両方でテストしました。また、Webkit インスペクターを使用してネットワーク ログを記録します。スクリーンショットは次のとおりです。 ここに画像の説明を入力

専門家が理由を教えてもらえますか?

以下は私のコードです:

var url = "";//this is assigned a domain which supports cross domain access according to HTML5 specification.
var client = new XMLHttpRequest();
client.open("GET", url, true);
client.setRequestHeader("Accept-Language", 'en-us');
client.onreadystatechange = function() { alert("succeed"); }
client.send();
4

1 に答える 1

6

外部からアクセスされるリソースはすべて宣言する必要があります(「外部ネットワーク リソースへのアクセス」を参照)。

デフォルトでは、外部ネットワーク リソースにアクセスできません (WARP: W3C Access Requests Policy)。そのため、ウィジェットがネットワーク リソースを取得するためのアクセス許可を要求する必要があります。[アクセス] タブの [追加] ボタンを使用して、複数の URL を入力できます。URL ごとに、ウィジェットが URL サブドメインにアクセスできるようにするかどうかを指定できます。[サブドメインを許可] 列の内容は、マウス クリックで切り替えることができます。

そのため、 で定義されたケースで必要な特定のリソースにアクセスできなければ機能しませんconfig.xml

<access origin="http://url_resource" subdomains="true"/>

また

<access origin="*" subdomains="true"/>

すべてを通過させます。

于 2013-02-28T00:13:38.823 に答える