jQuery $ .get()がDrupal 6で機能しない

ajax drupal jquery
jQuery $ .get()がDrupal 6で機能しない

だから私はこの問題に直面しています。 $ .get()を使用して、jQuery 1.2.6を使用するDrupal 6.16内のRESTアプリケーションと対話しようとしています。

次のコードを実行するデスクトップにテストページがあり、アラートを正常に実行します。

  url = 'http://api.twitter.com/1/help/test.xml';
  $.get(url, function(){alert("WORKING!!");}, 'xml');

ただし、Drupal内で実行しようとすると、アラートに到達しません。 何らかの理由で、関数がトリガーされることはありません。

何か案は?

  1  0


ベストアンサー

これについて私が言わなければならないことは次のとおりです。

http://en.wikipedia.org/wiki/Same_origin_policy [同一オリジンポリシー]

_
一言で言えば、このポリシーは、同じサイトからのページで実行されるスクリプトが特定の制限なしに互いのメソッドとプロパティにアクセスすることを許可しますが、異なるサイトのページ間でほとんどのメソッドとプロパティへのアクセスを防ぎます。
_

それがまさにあなたがやろうとしていることです。 スクリプトが配置されている別のドメインにajaxリクエストを作成します。 同じオリジンポリシーがクロスドメインリクエストを禁止しているため、これは機能しません。

jsonp apiが提供されているかどうかを確認し、http://api.jquery.com/jQuery.ajax/ [jQuery.ajax()]ドキュメントでjsonpのクロスドメインリクエストを使用/作成する方法を読んでください。 呼び出しが成功せず、jQueryが指定した成功コールバックを呼び出さないため、明らかにアラートに到達することはありません。

2


タイトルとURLをコピーしました