0

我们正在尝试使用 Struts2-jQuery 和 Struts2 标签将 HREF 目标加载到 Div 标签。下面是代码。

只要 s:url 值是内部 URL,它就可以正常工作,但是如果我将其更改为外部 URL,例如 www.google.com,则单击链接时不会发生任何事情。

如果 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 回答