当前位置: 首页 > 知识库问答 >
问题:

获取Api-删除-对飞行前请求的响应未通过访问控制检查

金正阳
2023-03-14

我得到了许多解决方案没有人帮助我。我已经按照所有的解决方案设置了所有需要的标题。仍然显示下面的错误。

获取API无法加载http://localhost:25424/api/Employee/DeleteEmployee/1. 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost:7777因此,不允许访问。响应的HTTP状态代码为404。如果不透明响应满足您的需要,请将请求的模式设置为“no cors”,以获取禁用cors的资源。

我的取回请求:

fetch('http://localhost:25424/api/Employee/DeleteEmployee/' +1, {
    method: "DELETE",       
    headers: {    
    'Accept': 'application/json',
    'Content-Type': 'application/json',
    'Access-Control-Allow-Origin' : '*' ,
    'Access-Control-Allow-Headers'  : 'Origin, X-Requested-With, Content-Type, Accept',
    'Access-Control-Allow-Methods' : 'DELETE',
     'mode'  : 'cors' 

    }, 

    })
    .then(function(resp){

    })

我试过设置模式:也没有cors。

我的web api代码:

 [EnableCors(origins: "*", headers: "*", methods: "*")]
    public class EmployeeController : ApiController
    { 
        [HttpDelete]
        public IHttpActionResult DeleteEmployee(int id)
        {
            using (var ctx = new Employee())
            {
                var existingemp = ctx.tempemp.Where(s => s.Id == id).FirstOrDefault();
                ctx.Entry(existingemp).State = System.Data.Entity.EntityState.Deleted;
                ctx.SaveChanges();
            }
            return Ok();
        }
    }

我也在WebApiConfig.cs中设置了CORS

var cors = new EnableCorsAttribute("*", "*", "*");
config.EnableCors(cors); 

提前谢谢。

共有2个答案

颜君浩
2023-03-14

两小时后我自己找到了解决办法。问题是我忘记在我的请求中输入'id?='。

fetch('http://localhost:25424/api/Employee/DeleteEmployee/' +1,

而不是这个。我用下面的方法来解决这个问题。

fetch('http://localhost:25424/api/Employee/DeleteEmployee?id=' +1,
凌联
2023-03-14

适当的访问控制报头绝对需要通过

http://localhost:25424/api/Employee/DeleteEmployee/,启用http://localhost:7777进行允许的删除

  • 通过执行正常请求,检查浏览器的网络面板
  • 打开有问题的网络请求-执行编辑并重新发送(假设使用firefox)
  • 添加请求头来源:http://localhost并重新发送请求

发布响应标题。

进一步的

  • 在重新发送请求时选择要删除的其他用户,或者在解决问题之前,选择不同于delete的方法进行故障排除

注意:确保您请求的东西没有给您提供404

当您查看响应标头时,如果您没有看到允许localhost:7777,或者,

访问控制允许方法允许删除,您的请求肯定会失败。

在这种情况下,可能您尚未在端口25424正确配置API以发送这些响应

 类似资料:
  • 我已经找了5个小时左右,但我放弃了。我的ajax get请求不起作用。 它连接到标准的C#mvc api,但我得到的只是这个错误: 无法加载XMLHttpRequesthttp://localhost:18428/api/Reservation/1?weekNumber=1. 对飞行前请求的响应未通过访问控制检查:请求的资源上不存在“访问控制允许来源”标头。起源'http://localhost因

  • 我正在使用reactjs前端,在后端使用Spring Boot。我尝试从前端调用endpoint,如下所示: 当我发出请求时,我得到以下错误:- 访问位于“”的XMLHttpRequesthttp://localhost:8000/ckcapp/api/posttest“起源”http://localhost:3000'已被CORS策略阻止:对飞行前请求的响应未通过访问控制检查:请求的资源上不存在

  • 即使我在NodeJS/ExpressJS中添加了以下代码,我也无法解释为什么会遇到以下错误。 XMLHttpRequest无法加载http://localhost:9000/polymer/105724/apply.对预检请求的响应无法通过权限改造检查:请求的资源上不存在“访问控制允许源”标头。因此不允许访问源“http://localhost:8080”。

  • 问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载 http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:在所请求的资源上不存在“ Access-Control-Allow-Origin”标头。因此,不允许访

  • 问题内容: 我在使用ngResource调用Amazon Web Services上的REST API时遇到此错误: XMLHttpRequest无法加载http://server.apiurl.com:8000/s/login?login=facebook。对预检请求的响应未通过访问控制检查:请求的资源上不存在“Access-Control-Allow-Origin”标头。因此,不允许访问源“h

  • 一、 am在angular 6和asp.net内核上使用信号器功能。但对飞行前请求继续获取此错误响应未通过访问控制检查:响应中“访问控制允许凭据”标头的值为“”,当请求的凭据模式为“包括”时,该值必须为“真”。 做了一些研究,发现这是服务器端的CORS问题。所以修改了服务器代码。 startup.cs 角度应用程序 参考资料 访问控制允许原点-角度5 响应中的访问-控制-允许-凭据标题为"这必须是