0

我的 AJAX 代码正在播放框架中生成以下 GET 请求

'GET /localhost:8080/geoserver/rest/proxy?url=http://localhost:8080/geoserver/wms?REQUEST=GetFeatureInfo&EXCEPTIONS=application/vnd.ogc.se_xml&BBOX=-74.084108,40.737824,-73.862875,40.817377&X=656&Y=271&INFO_FORMAT=text/html&QUERY_LAYERS=tiger:tiger_roads&FEATURE_COUNT=50&Layers=tiger:tiger_roads&Styles=&Srs=EPSG:4326&WIDTH=1168&HEIGHT=420&format=image/png'

我希望将上述请求重定向到路由文件或控制器文件中的/localhost/geoserver。有人可以帮我实现上述目标吗?

4

2 回答 2

1

使用控制器中的重定向方法来实现这一点。

redirect(url);

于 2012-10-16T07:39:31.690 回答
-1

如果你想实现任何重定向,你只需要修改你的路由文件。如果你有

GET    /link1     Application.Controller1

在您的路由文件中,如果您点击http://localhost:9000/link1,这将导致 Controller1(在您的 Application.java 文件中)方法运行。如果您想在执行此控制器后返回任何 html 内容(这可能是整个 div/span/table/paragraph/etc。您可以在运行时将其放入 html 中),您需要使用renderHtml("<>...</>"). 更重要的是,如果你想运行这个控制器并将 html 放入你当前通过 JavaScript-Jquery 显示的页面中,你需要使用类似的东西;

$.load("/link1", {parameter1:"the value"}, function(result){
    $("#div1").html(result);
});

您可以通过这种方式实现任何重定向并实现任何类型的 AJAX 请求。

要从控制器重定向,您可以简单地调用redirect(another_page),或者您可以调用静态控制器方法,例如index(param)(在控制器类中定义)

要获取当前 URL,play 提供了@request.path

于 2012-10-16T07:30:40.523 回答