【问题标题】:How to link s:url to an external URL?如何将 s:url 链接到外部 URL?
【发布时间】:2012-08-18 06:13:29
【问题描述】:

我们正在尝试使用 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>

【问题讨论】:

  • 10/14 问题得到解答;如果答案不令您满意,请不要接受——但如果是,请接受。只有你可以决定。

标签: jquery ajax struts2 href struts2-jquery


【解决方案1】:

使用 Ajax 调用外部站点会创建一个跨域 XHR 请求,这将不起作用。*

如果你想从另一个域加载,它应该支持 JSONP,或者你可以从 your 应用发出请求(一个 S2 操作),这使得 正常 通过 HttpClient 之类的方式向站点请求(非 Ajax)。从您的操作流回该响应,插件将加载 div。

* 除非网站的 Access-Control-Allow-Origin 让您访问,显然。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-11-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-24
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多