Spring MVC(學習筆記七)控制器的註解(六) -之處理跨域操作(@CrossOrigin)
阿新 • • 發佈:2019-01-23
@CrossOrigin 進行跨域資源訪問的處理操作
在這個案例中我返回的值為json型別,所以我們要先引用jars,pom.xml檔案:
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.7</version>
</dependency>
在spring-mvc.xml中新增配置:再編寫一個CrosController類:<mvc:annotation-driven enable-matrix-variables="true"> <mvc:message-converters> <ref bean="fastJsonHttpMessageConverter"/> </mvc:message-converters> </mvc:annotation-driven> <bean id="fastJsonHttpMessageConverter" class="com.alibaba.fastjson.support.spring.FastJsonHttpMessageConverter"> <!--設定轉換時特性--> <property name="features"> <array> <value>WriteNullBooleanAsFalse</value> <value>WriteNullListAsEmpty</value> <value>WriteNullStringAsEmpty</value> <value>WriteNullNumberAsZero</value> </array> </property> </bean>
我在HBuilder這個軟體中寫了一個頁面:@Controller @RequestMapping(value = "/cros") public class CrosController { // 可以進行跨域操作的地址:這裡我是使用了HBuilder編寫了一個頁面,進行了非同步請求 @CrossOrigin(value = {"http://127.0.0.1:8020"}) //produces:指明響應content-type @GetMapping(value = "loadUser",produces={"application/json"}) @ResponseBody public User loadUser(){ User user=new User(); user.setId(123123); user.setName("mj"); user.setPwd("1"); return user; } }
<!DOCTYPE html> <html> <head><meta charset="utf-8" /></head> <body> <script src="js/jquery.js"></script> <script> $.ajax({ type:"get", url:"http://localhost:8080/cros/loadUser", success:function(data){ alert(data.id); } }); </script> </body> </html>
這裡直接點選訪問:
出現頁面結果:
F12檢視: