0

その場所にxmlコンテンツが保存されていますが、http://localhost:8080/cleo-primer/rest/elements/search?uid=1&query=facebook

<element-list><element><term>facebook</term><name>Bing Facebook</name></element></element-list>

取得リクエストを送信しています

 $.get('http://localhost:8080/cleo-primer/rest/elements/search', { uid: 1, query: request.term }, function(responseData){alert(responseData);});

しかし、これにより空白の応答が返され、firebug を使用して確認すると、XML 解析エラーが表示されます: 要素が見つかりません Location: moz-nullprincipal:{1e7688d3-7b3c-43ae-9142-5b183a7cbfda} Line Number 1, Column 1: inside XMLタブ

4

1 に答える 1

1

許可されていないクロス オリジン コールを実行しています。から に電話しhttp://localhostていhttp://localhost:8080ます。呼び出しは実行されず、応答はありません。Chrome/Safari では、コンソールに次のようなエラーが表示されます。

XMLHttpRequest を読み込めませんhttp://targeturlOriginhttp://localhostは Access-Control-Allow-Origin で許可されていません。

詳細: http://en.wikipedia.org/wiki/Same_origin_policy#Origin_determination_rules

バックエンドに変更を加えて、正しいヘッダーを送信させることができれば、問題は解決します... (Access-Control-Allow-Origin yourdomainまたはAccess-Control-Allow-Origin *すべて許可)

詳細: http://enable-cors.org

完了するための他のいくつかのオプション...

  • Apache を使用する場合: Apache プロキシを使用して、ポート 8080 の場所を別のポート (デフォルトのポート 80 など) に転送 (マップ)できます
  • scripttag を介してリソースをロードする手法を使用して、 jsonP (xml ではなく json) に頼ることもできます。json がそれに適応している場合は、json をロードできます。(コールバック関数呼び出しをラップします)
  • それができない場合、唯一のオプションはプロキシスクリプトです。プロキシ スクリプトは一種のミドルウェアです。スクリプトにリクエストを送信すると、スクリプトがデータを取得して返します。たとえば、php プロキシ。asp、jsp、flash、さらには Java アプレットでも同じことができます。
于 2012-09-03T09:37:29.667 に答える