如何将s:url链接到外部URL?

时间:2012-08-22 18:54:53

标签: jquery ajax struts2 href struts2-jquery

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

只要s:url值是内部网址,这项工作正常,但如果我将其更改为外部网址(如www.google.com),则点击链接。

如果网址是外部网址,我们还有什么不同吗?即当前应用程序之外的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>

1 个答案:

答案 0 :(得分:3)

使用Ajax调用外部站点将创建跨域XHR请求,该请求无效。 *

如果您想从其他域加载,它应该支持JSONP,或者您可以从您的应用程序(S2操作)发出请求,这会使正常通过类似HttpClient的请求(非Ajax)到网站。从您的操作流回响应,插件将加载div。

*除非网站Access-Control-Allow-Origin允许您访问,否则显然。