通过设置header来实现的跨域访问。
app1为数据提供者
app2为数据调用者
app1中添加Api控制器和Api拦截器(Api 随便起的名字,控制器名和拦截器名称要相同,并且要放在同一个包下,拦截自动生效)
目录结构:
控制器:
class ApiController { def index() { } def aa(){ println "request.remoteAddr:==="+request.remoteAddr println "request.remoteHost:==="+request.remoteHost println "request.remoteUser:==="+request.remoteUser println "request.remotePort:==="+request.remotePort println "params:"+params def res = [flag:true,status:200,params:params] respond res } }
拦截器:
class ApiInterceptor { boolean before() { println "before::::=================="+params header( "Access-Control-Allow-Origin","*")// 这里的*注意一下允许所有人调用"http://local.test" ) header( "Access-Control-Allow-Credentials", "true" ) header( "Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE" ) header( "Access-Control-Max-Age", "3600" ) return true//这里返回true 随后会进入控制器中调用方法,返回false 不进入控制器,直接返回 } boolean after() { true } void afterView() { // no-op } }
app2中建一个gsp页面调用:
<!DOCTYPE html> <html> <head> <asset:javascript src="jquery-2.2.0.min.js"/> <script> $(function(){ $("#btn1").click(function(){ $('#test').load('http://app1.tch.com:8080/Api/aa.json?name='+$("#name").val()); }); }); </script> </head> <body> <h3 id="test">请点击下面的按钮,通过 jQuery AJAX 改变这段文本。</h3> name:<input id="name" value="sss"/> <button id="btn1" type="button">get获得外部的内容</button> <hr/> </body> </html>
页面调用结果:
不建议在页面调用,这种方式相当于将数据暴露给全世界。最好加上认证。
相关推荐
Grails3通过groovy语言的配置文件灵活地集成了logback的强大功能,使得开发者能够更加高效地控制和管理应用程序的日志输出。这种集成方式不仅让日志记录变得简单,还提供了强大的灵活性,对于开发和运维团队监控应用...
在本文中,我们将深入探讨如何在Grails框架中配置MongoDB数据库,并实现用户登录系统。Grails是一款基于Groovy语言的、高效的Web应用开发框架,它借鉴了Ruby on Rails的许多优秀特性。MongoDB则是一种流行的NoSQL...
通过上述步骤,我们已经完成了Groovy和Grails的基本安装和配置工作。Groovy和Grails的结合使用为开发者提供了一个高效且功能强大的开发平台,尤其是在Java平台上进行Web应用开发时更是如此。希望本教程能够帮助初学...
在Grails应用中创建用户、角色和权限的关系,并在控制器中根据用户的权限控制访问。 在压缩包文件的`cas链接数据库`中,可能包含了一些示例代码、配置文件或者教程文档,这些资源可以作为实现上述步骤的辅助材料。...
本篇将详细介绍如何在Grails 3中配置单独的数据库properties,以便在开发过程中管理多个数据源,满足复杂的企业级需求。 首先,我们需要理解Grails中的数据源配置。默认情况下,Grails使用一个名为`dataSource`的主...
**Grails项目配置详解** Grails是一个基于Java平台的开源Web应用框架,它采用Groovy语言,提供了MVC(Model-View-Controller)架构模式,简化了开发过程。本项目是一个关于Grails的演示示例,特别关注了数据模型的...
Grails的控制器通过拦截器链进行扩展,可以添加自定义的行为和过滤逻辑。 **Grails 的核心特性** 1. **自动化配置和约定优于配置**:Grails 提供了许多默认配置,例如数据库连接、URL映射等,开发者只需按照约定...
通过合理地利用 Grails 过滤器,开发者可以有效地编写出整洁、可维护的代码,同时提高应用的安全性和性能。 总结来说,Grails 过滤器是 Grails 框架中一种强大的工具,它们提供了一种优雅的方式来处理应用程序的...
通过以上步骤,你已经在Eclipse中成功配置了一个基本的Grails开发环境,现在可以开始创建、编辑和调试Grails项目了。记得定期更新Grails插件和Eclipse本身,以获取最新的功能和修复已知问题。在开发过程中,如果遇到...
grails.2.5.1 环境,适用于Windows下Grails开发,具体配置请参照https://jingyan.baidu.com/article/86fae3461af6cf3c49121a91.html
整体来看,Grails 3开发邮件发送功能需要对邮件发送协议和Grails框架有一定的了解,同时,还需要对配置文件和控制器编程有一定的熟悉。通过上述步骤和注意事项的遵循,可以较为高效地在Grails 3项目中集成邮件发送...
注意,尽管Eclipse对Grails的支持相比IntelliJ IDEA和NetBeans可能稍显不足,但通过Groovy Eclipse插件的配置,开发者依然能在Eclipse中高效地进行Grails开发。不断更新插件和学习最佳实践将有助于提升开发体验。
grails1.0开发框架3 类似于ruby on rails的框架。
- **成功案例**:展示了 Grails 在实际项目中的应用效果,如使用 Grails 开发的富文本编辑器等。 - **性能对比**:通过测试证明 Grails 的性能远超过 Ruby on Rails。 #### 七、未来展望 - **Groovy 与 Java 7**:...
3. **配置Grails环境**:安装插件后,需要在Eclipse中配置Grails的路径,这样Eclipse才能找到Grails命令行工具。这通常在"Eclipse Preferences" -> "Grails"中设置。 4. **创建Grails项目**:现在,你可以通过...
grials Install if you want to Install grails tools ,you can look at it .i would it can help you
Eclipse 插件 Grails(Groovy)是一个强大的开发工具,它...通过配置插件和环境,你可以利用Groovy的灵活性和Grails的高效框架,轻松构建Web应用程序。无论是新手还是经验丰富的开发者,都能从中受益,提升开发效率。