origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present

2023-05-16

完整错误信息:

Access to XMLHttpRequest at 'http://localhost:8080/test/hello?
name=%E6%88%91%E7%9A%84%E9%92%B1&action=1313' from origin 'null'
has been blocked by CORS policy: No 'Access-Control-Allow-Origin'
 header is present on the requested resource.

大概意思就是cors阻止了你请求的资源(跨域问题);

解决办法:

如果是spring项目的,在相应方法上加上这个注解;

@CrossOrigin

其他项目的解决办法如下:

将头文件设置可以跨域;

resp.setContentType("text/json; charset=utf-8");
resp.setHeader("Access-Control-Allow-Origin", "*");

完整代码(后台):

package yu;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;

public class Hello extends HttpServlet{

	private static final long serialVersionUID = 1L;

	@Override
	protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		String name=(String) (req.getParameter("name"));
		String action=(String) (req.getParameter("action"));
		System.out.println(name);
		System.out.println(action);
		Bean wenxi=new Bean("我是你","爸爸");
		resp.setContentType("text/json; charset=utf-8");
		resp.setHeader("Access-Control-Allow-Origin", "*");
		
		resp.setHeader("Access-Control-Max-Age", "3600");
		resp.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
		resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
		resp.getWriter().print(JSON.toJSONString(wenxi));		
	}
}

如果你是post的话:
后台代码如下(通过f12 你可以看到它请求方式 变成options,不是post):

package yu;

import java.io.IOException;
import java.util.Enumeration;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.alibaba.fastjson.JSON;

public class Hello extends HttpServlet{

	private static final long serialVersionUID = 1L;
	@Override
	protected void doOptions(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
		System.out.println("这是一个坑");
		arg1.setHeader("Access-Control-Allow-Methods", "OPTIONS, GET, POST");
		arg1.setHeader("Access-Control-Allow-Headers", "x-requested-with");
		arg1.setHeader("Access-Control-Max-Age", "86400");
		arg1.setHeader("Access-Control-Allow-Origin", "*");
		doPost(arg0, arg1);
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
		req.setCharacterEncoding("UTF-8");
		String name=(String) (req.getParameter("name"));
		String action=(String) (req.getParameter("action"));
		System.out.println(name);
		System.out.println(action);
		Bean wenxi=new Bean("你是我","的眼");
		resp.setContentType("text/json; charset=utf-8");
		resp.setHeader("Access-Control-Allow-Origin", "*");
		resp.setHeader("Access-Control-Max-Age", "3600");
		resp.setHeader("Access-Control-Allow-Headers", "x-requested-with");
		resp.setHeader("Access-Control-Allow-Headers", "Content-Type, Accept");
		resp.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");
		resp.getWriter().print(JSON.toJSONString(wenxi));
	}
}

post请求(前端):

 axios.post('http://localhost:8080/test/hello',Qs.stringify(dat1), {headers: { 'Content-Type': 'application/x-www-form-urlencoded'}}).then(res => {
        console.log(res)
    })
    .catch(err => {
         console.log(err)
    })

这里需要使用qs(简易导入) 通过bootcdn ,就可以直接使用;

<script src="https://cdn.bootcss.com/qs/6.8.0/qs.min.js"></script>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

origin 'null' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present 的相关文章

  • 从 SQL Server 中的 XML 选择空值

    我正在尝试从具有 null 作为属性之一的 XML 中进行选择 它没有返回 null 而是返回 0 我做错了什么 请参阅下面的代码进行复制 declare a xml select a
  • Swift - 在带有可选参数的泛型函数中以 Nil 作为参数

    我正在尝试创建一个可以接受可选参数的通用函数 这是我到目前为止所拥有的 func somethingGeneric
  • StringBuilder append() 和 null 值

    我有一个清单Strings 我想将它们与中间的空格连接起来 所以我正在使用StringBuilder 现在如果有任何一个Strings are null 它们被存储在StringBuilder字面意思是 空 下面用一个小程序来说明这个问题
  • 如何允许在 TDBLookupComboBox 中选择 NULL 值?

    我有一个TDBLookupComboBox显示一个TStringField同类fkLookup 这使得Null值 来自可为空的整数数据库列 下拉列表显示已分配的项目LookupDataSet 它来自连接表 如果该字段是Null 没有显示任何
  • MySQL外键允许NULL吗?

    我正在拼凑一个图像网站 基本模式非常简单 MySQL 但我在尝试表示与图像关联的可能的管理标志 不适当 受版权保护 等 时遇到了一些麻烦 我目前的想法如下 tblImages imageID INT UNSIGNED NOT NULL AU
  • 检查 arraytype 列是否包含 null

    我有一个数据框 其中有一列可以包含整数值的数组类型 如果没有值 它将只包含一个 并且它将是空值 重要的 注意该列不会为空 而是一个具有单个值的数组 无效的 gt val df DataFrame Seq foo Seq Some 2 Som
  • EditText 视图返回 null

    我有两个活动 一个 主页 片段活动和一个普通的 选项 活动 在我的主页片段活动中 我尝试使用从选项活动检索的数据来更新 EditText 视图 不幸的是 由于某种原因 片段活动无法检测到我的视图以进行更新 我不太清楚为什么 这是我的功能 u
  • MySql查询获取两列的所有组合,如果没有匹配的记录则为NULL

    我有一个表 其中记录了服务器的停机时间 我在 sqlfiddle 创建了该表的简化版本 请看这里sqlfiddle http www sqlfiddle com 2 8479e 8 该表的每条记录如下 Reason Month Down T
  • mysql 中的 desc 表说 Null 为 No 但默认为 NULL?

    我在用mysql对于一个项目 当我执行 desc table name 时 我看到表格输出显示了Null该字段的值设置为No 但随后 默认 设置为NULL 一个字段怎么可以没有Null但默认是Null itself mysql gt des
  • 空值并不唯一

    我在 postgres 上有这样的行 name address college john rome john rome max tokyo 我创建一个这样的表 create test name varchar 10 address varc
  • 从空整数到逗号列表中的指针的转换

    我知道在我们的现代世界中 NULL 和 0 并不是指针操作的最佳实践 根据 cppreference 指针转换 空指针常量 参见 NULL 可以是 转换为任意指针类型 结果为空指针 该类型的值 这种转换 称为空指针转换 允许作为单个转换转换
  • 如何消除SQL中的NULL字段

    我正在为 SQL Server 2008 R2 开发 TSQL 查询 我正在尝试开发此查询来识别一条记录 客户 由于其中一些值为 NULL 因此我目前正在对大多数表执行 LEFT JOINS 但 LEFT JOIN 的问题是 现在我为某些客
  • 我想向我的销售点的用户授予特权,但我不知道如何做,有什么建议吗?

    我有一个问题 我有一个用netBeans制作的销售点系统 2个用户可以在我的系统中注册 管理员 和 供应商 系统中有几个模块 包括 Inventario 模块允许您在数据库中输入 修改 删除和搜索文章 问题是我希望只有管理员有权限进入该模块
  • 如何在 SQL 中替换 PIVOT 中的 Null 值

    我有以下代码 我试图用零替换使用枢轴时出现的 Null 我执行了以下操作 但它说 ISNULL 附近的语法不正确 我不确定我做错了什么 有什么建议请 select from tempfinaltable pivot ISNULL sum T
  • Objective-C 有没有办法捕获发送到 nil 的消息?

    我刚刚被一种烦人的东西咬了bug https stackoverflow com questions 913627 uiviewcontroller viewdidload not being calledObjective C 中的 向
  • MVC 模型在 OnExecuted 操作过滤器中为 null ...或者设置模型的更优雅的方式?

    我有一个 ActionFilter 它覆盖了 OnActionExecuted 方法 在 POST 操作中 filterContext Controller ViewData Model 始终为 null 我确实发现下面的文章似乎在说它不应
  • 带汇总总计和小计

    我有一个脚本可以生成几乎已经存在的结果集 我正在尝试获取小计和总计 我在年份栏中得到了小计 在最后得到了总计 我的目标是让最终结果显示 总计 而不是小计 请注意 由于汇总函数 我的最后一行 位置 也返回为空 SELECT YEAR COUN
  • 当Where子句中的术语不在数据库中时,如何从MySQL数据库返回0?

    如果 WHERE 子句中的邻域不存在 如何让 mysql 数据库返回 0 因此 在下面的示例中 旧城区不在数据库中 我希望数据库返回 0 个事件而不是空结果 SELECT incidents neighborhoods FROM myTab
  • PHP 构造函数返回 NULL

    我有这个代码 是否有可能User对象构造函数以某种方式失败 以便 this gt LoggedUser被分配了一个NULL构造函数返回后值和对象被释放吗 this gt LoggedUser NULL if SESSION verbiste
  • C# Null 传播运算符/条件访问表达式和 if 块

    The 空传播运算符 条件访问表达式 https roslyn codeplex com discussions 540883进来c 6 0 questions tagged c 23 6 0看起来是一个非常方便的功能 但我很好奇它是否有助

随机推荐