0

Struts2-jQueryおよびStruts2タグを使用して、HREFターゲットをDivタグにロードしようとしています。以下はコードです。

これは、s:url値が内部URLである限り正常に機能しますが、www.google.comなどの外部URLに変更しても、リンクをクリックしても何も起こりません。

URLが外部URLの場合、何か違うことはありますか?つまり、現在のアプリケーション外のURL

<%@ taglib prefix="s" uri="/struts-tags"%>
<%@ taglib prefix="sj" uri="/struts-jquery-tags"%>
<html>
  <head>
    <sj:head/>
  </head>
  <body>
    <div id="div1">Div 1</div>
    <s:url var="ajaxTest" value="/AjaxTest.action"/>

    <sj:a id="link1" href="%{ajaxTest}" targets="div1">
      Internal Content
    </sj:a>

   <s:url var="ajaxXternal" value="www.google.com"/>

    <sj:a id="link2" href="%{ajaxXternal}" targets="div1">
      External Content
    </sj:a>

  </body>
</html>
4

1 に答える 1

3

Ajaxを使用して外部サイトを呼び出すと、クロスドメインXHRリクエストが作成されますが、これは機能しません。*

別のドメインから読み込む場合は、JSONPをサポートするかアプリからリクエスト(S2アクション)を行うことができます。これにより、HttpClientなどを介してサイトに通常のリクエスト(Ajax以外)が行われます。その応答をアクションからストリーミングして戻すと、プラグインがdivをロードします。

*サイトAccess-Control-Allow-Originがアクセスを許可しない限り、明らかに。

于 2012-08-22T19:36:59.583 に答える