利用script标签的src属性可以支持跨域,并将返回的jsonp格式数据进行处理, 那么Java服务端怎么写?
时间: 2024-02-19 17:02:56 浏览: 94
使用JSONP完成HTTP和HTTPS之间的跨域访问
5星 · 资源好评率100%
在 Java 服务端实现跨域请求可以使用 Spring 框架提供的 @CrossOrigin 注解来实现(需要使用 Spring MVC 框架)。
以下是一个简单的示例:
1. 在控制器方法上添加 @CrossOrigin 注解
```
@RestController
public class UserController {
@GetMapping("/user")
@CrossOrigin(origins = "http://localhost:8080")
public User getUser() {
User user = new User();
user.setName("Alice");
user.setAge(18);
return user;
}
}
```
在这个例子中,使用 @GetMapping 注解定义了一个 GET 请求的控制器方法 getUser,在该方法上添加了 @CrossOrigin 注解,并指定了允许跨域访问的源地址为 http://localhost:8080。
2. 编写前端代码
在前端代码中,可以使用 jQuery 的 ajax 方法来发送跨域请求,并将响应数据包装在一个函数调用中返回。例如:
```
$.ajax({
url: 'http://localhost:8081/user',
dataType: 'jsonp',
success: function(data) {
console.log(data);
}
});
```
在这个例子中,使用 jQuery 的 ajax 方法发送跨域请求,并将 dataType 参数设置为 'jsonp',表示请求返回的数据是 jsonp 格式的数据。在请求成功后,将响应数据传递给 success 回调函数进行处理。
以上是一个简单的 Java 服务端跨域请求的示例。需要注意的是,在实际开发中需要考虑跨域请求的安全性问题,并进行相应的防范措施。
阅读全文