• 跨域资源共享CORS实现


    问题描述:
    本地已经实现的restful接口,在地址栏输入url:loaclhost:8080/admins即可得到预期的json字符串,在网页上显示如下:
    [{"id":1,"adminId":1,"adminName":"zuo","adminAge":21,"adminPassword":"zf1110","adminChange":"yxy"},{"id":2,"adminId":2,"adminName":"melon","adminAge":21,"adminPassword":"1111","adminChange":"yxy"},{"id":8,"adminId":222,"adminName":"zzzz","adminAge":88,"adminPassword":"zuodepass","adminChange":null}]
    现在遇到一个问题:
    当通过打开我本地的html文件,通过ajax访问url获取json字符串的时候,返回403,不能访问
    经过查证,是因为调用不是本网站的url导致的,网站开发中出于安全性考虑,默认不允许通过调用外部网站的资源;
    ajax如下:
    $.ajax({
    type: 'get',
    contentType: "application/json; charset=utf-8",
    success:function (data) {
    console.log("zzzzzz");
    console.log(data);
    //调用成功
    },
    error: function(data, textStatus, errorThrown){
    //调用失败
    console.log("ppppppp");
    }
    });
    这时候必须要实现CORS资源共享实现;
    既然是403,那一定是服务器请求不到资源;
    但是,前面也说到了,url可以正常调用,后台也有正常的sql打印出来;
    所以归根到底,是服务器配置的问题;
    在web.xml添加:
    <mvc:cors>
        <mvc:mapping path="/**" />
    </mvc:cors>
    开启 cors即可。
    满足条件:spring 4.2+
    通过查阅资料:
    CORS原理:http://www.ruanyifeng.com/blog/2016/04/cors.html 阮一峰讲解的很透彻
    具体解决方案: http://blog.csdn.net/isea533/article/details/50449907 除了修改xml,还有其他的配置方案;
     
     
     
  • 相关阅读:
    模拟器分辨率收集
    6. 蜂鳴器
    5. 伺服馬達
    4. 流水燈
    3. 序列埠的輸出以及按鈕消抖
    2. 沒有按鈕的電路是沒有靈魂的
    1. 點亮一個LED燈
    ARDUINO準備工作
    vritualenvwrapper的基本操作
    蠻力法兌換零錢及其優化
  • 原文地址:https://www.cnblogs.com/zuopy/p/7735289.html
Copyright © 2020-2023  润新知