zoukankan      html  css  js  c++  java
  • JavaWeb/ No 'Access-Control-Allow-Origin' header is present on the requested resource

    转载自:https://www.2cto.com/kf/201804/741223.html

    报错显示No 'Access-Control-Allow-Origin' header is present on the requested resource.'Ajax跨域访问

    当使用ajax访问远程服务器时,请求失败,浏览器报如上错误。这是出于安全的考虑,默认禁止跨域访问导致的。

    一、什么是跨域访问

    举个栗子:在A网站中,我们希望使用Ajax来获得B网站中的特定内容。如果A网站与B网站不在同一个域中,那么就出现了跨域访问问题。你可以理解为两个域名之间不能跨过域名来发送请求或者请求数据,否则就是不安全的。跨域访问违反了同源策略。

    总而言之,同源策略规定,浏览器的ajax只能访问跟它的HTML页面同源(相同域名或IP)的资源。

    二、解决方案

    常用的解决方案有两种,可以分为客户端解决方案和服务器端解决方案。先说服务器端解决方案:

    服务器端解决方案

    在服务器端的filter或者servlet里面添加

    response.setHeader("Access-Control-Allow-Origin", "*");

    “Access-Control-Allow-Origin”表示允许跨域访问,“*”表示允许所有来源进行跨域访问,这里也可以替换为特定的域名或ip。

    很显然,这种方式对非网站拥有人员来说是不能做到的。而且此种方式很容易受到CSRF攻击

     

  • 相关阅读:
    Integrating AngularJS with RequireJS
    commonjs AMD,CMD
    JavaScript Module Pattern: In-Depth
    Javascript模块化编程(一):模块的写法
    Javascript模块化编程(三):require.js的用法
    Javascript模块化编程(二):AMD规范
    Log4J日志管理类使用详解 (转)
    细说JAVA反射
    test1
    test
  • 原文地址:https://www.cnblogs.com/wu199723/p/11603379.html
Copyright © 2011-2022 走看看