相关疑难解决方法(0)

继续使用XMLHttpRequest获取No'Access-Control-Allow-Origin'错误

我会通过使用jQuery $.ajax函数解决这个问题,但在这种情况下jQuery不是选项.相反,我将使用CORS请求.我觉得响应请求的网络服务器出了问题,我很难搞清楚问题所在.

这是我创建CORS请求的代码

var httpRequest = new XMLHttpRequest();
httpRequest.open('POST', url, true);
httpRequest.setRequestHeader( 'Access-Control-Allow-Origin', '*');
httpRequest.setRequestHeader( 'Content-Type', 'application/json' );
httpRequest.onerror = function(XMLHttpRequest, textStatus, errorThrown) {
  console.log( 'The data failed to load :(' );
  console.log(JSON.stringify(XMLHttpRequest));
};
httpRequest.onload = function() {
  console.log('SUCCESS!');
}
Run Code Online (Sandbox Code Playgroud)

这是console.log错误:

XMLHttpRequest无法加载 http://test.testhost.com/testpage.请求标头字段Access-Control-Allow-Origin不允许使用Access-Control-Allow-Origin.

以下是标题信息:

> Remote Address:**.**.***.**:80 Request
> URL:http://test.testdomain.com/testpage Request
> Request Method:OPTIONS
> Status Code:200 OK
Run Code Online (Sandbox Code Playgroud)

请求标题:

OPTIONS /content-network HTTP/1.1
Host: test.testhost.com
Connection: keep-alive
Cache-Control: no-cache
Pragma: no-cache
Access-Control-Request-Method: POST
Origin: http://test.testdomain.com
User-Agent: Mozilla/5.0 (Macintosh; Intel …
Run Code Online (Sandbox Code Playgroud)

javascript response xmlhttprequest cors

13
推荐指数
2
解决办法
9万
查看次数

在提取API中启用CORS

我收到以下错误消息,我无法继续

无法加载https://site/data.json:对预检请求的响应未通过访问控制检查:所请求的资源上没有'Access-Control-Allow-Origin'标头。因此,不允许访问源' http:// localhost:8080 '。如果不透明的响应满足您的需求,请将请求的模式设置为“ no-cors”,以在禁用CORS的情况下获取资源。localhost /:1未捕获(承诺)TypeError:无法获取

我正在尝试CORS在我的react js文件中启用,但无法获得预期的结果。我已经安装了chrome扩展程序,并且可以正常工作。但是要在生产站点中使用它,我需要在代码中启用它。我应该如何正确安排代码以启用CORS

fetch(URL, {
  mode: 'cors',
  headers: {
    'Access-Control-Allow-Origin':'*'
  }
})
  .then(response => response.json())
  .then(data => {
Run Code Online (Sandbox Code Playgroud)

javascript reactjs fetch-api

13
推荐指数
1
解决办法
6万
查看次数

什么是CSRF保护?

我很久以前就听说过CSRF,而我大部分时间都听到的是:

防止CSRF攻击很重要,因为有人不会自动提交表单(使用机器人或其他东西)

嗯,这不是100%的真实,是吗?

我已经做了大约3年的网络抓取,并且提出请求,解析csrftokenmiddleware字段并将其与其他字段一起发布是非常简单的.

那么,它究竟是什么呢?

security django csrf django-csrf

12
推荐指数
2
解决办法
3056
查看次数

CORS 策略阻止了从源“http://localhost:3000”获取的访问

添加到数据库显示错误。我该怎么办?

从源“ http://localhost:3000 ”获取“http:xxx”的访问已被 CORS 策略阻止:对预检请求的响应未通过访问控制检查:无“Access-Control-Allow-Origin”标头存在于请求的资源上。如果不透明响应满足您的需求,请将请求的模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

我的功能:

  addItem = (e) => {
e.preventDefault();
const ob = {
  X: 53.0331258,
  Y: 18.7155611,
}
fetch("http://xxx", {
  method: "post",
  headers: {
    "Content-Type": "application/json"
  },
  body: JSON.stringify(ob)
})
  .then(res => res.json())
  .then(res => {
    console.log(res);
  })
Run Code Online (Sandbox Code Playgroud)

}

javascript reactjs

12
推荐指数
3
解决办法
4万
查看次数

Tornado服务器:启用CORS请求

我有一个简单的龙卷风服务器,它有类:

class BaseHandler(tornado.web.RequestHandler):
    def set_default_headers(self):
        print "setting headers!!!"
        self.set_header("Access-Control-Allow-Origin", "*")
Run Code Online (Sandbox Code Playgroud)

当发出常规(无CORS)请求时,服务器按预期应答,包括Access-Control-Allow-Origin标头.但是当我发出来自不同域(使用jQuery.post)的帖子请求时,响应为404并显示错误:"XMLHttpRequest无法加载http:// dev-machine:8090/handshake.No'Access -Control-Allow-Origin '标题出现在请求的资源上.因此,不允许来自' http:// localhost:8090 '的响应.响应的HTTP状态代码为404."

你能告诉我是否遗漏了什么吗?(另一个标题/其他配置/其他)

tornado cors

10
推荐指数
2
解决办法
2万
查看次数

在 Next.Js 中的 useEffect 中进行网络调用时出现 CORS 错误

getStaticProps正在对有效的 API进行网络调用superhero.com,但当我尝试在其中进行相同的操作时useEffect,会抛出 CORS 错误。

从源“http://localhost:3000”获取“https://superheroapi.com/api//1”的访问已被 CORS 策略阻止:不存在“Access-Control-Allow-Origin”标头所请求的资源。如果不透明响应满足您的需求,请将请求模式设置为“no-cors”以在禁用 CORS 的情况下获取资源。

我尝试过使用fetchaxios进行网络调用,但遇到了相同的错误。问题或限制是否出在 Next.js 上?

编辑:尝试使用JSON 占位符API useEffect,它正在工作。

cors reactjs next.js

10
推荐指数
1
解决办法
2万
查看次数

四处走动:请求的资源上没有"Access-Control-Allow-Origin"标头

我必须处理一个不受我控制的RESTful服务器.当我尝试从中获取ID 1记录时,这是我得到的错误:

XMLHttpRequest cannot load http://www.example.com/api/v1/companies/1.
No 'Access-Control-Allow-Origin' header is present on the requested 
resource. Origin 'http://localhost:4200' is therefore not allowed 
access.
Run Code Online (Sandbox Code Playgroud)

我可以curl在shell上:

$ curl -I http://www.company.com/api/v1/companies/1
HTTP/1.1 200 OK
Cache-Control: private
Content-Length: 11055
Content-Type: application/javascript
Last-Modified: Thu, 18 Jun 2015 07:30:26 GMT
Accept-Ranges: bytes
ETag: "5e772a598a9d01:0"
P3P: policyref="/w3c/p3p.xml",CP="CAO DSP LAW CURa ADMa DEVa CUSi OUR LEG UNI"
Date: Fri, 19 Jun 2015 13:06:46 GMT
$
Run Code Online (Sandbox Code Playgroud)

我使用以下contentSecurityPolicy:

contentSecurityPolicy: {
  'default-src': "'none'",
  'script-src': "'self'",
  'font-src': "'self'",
  'connect-src': "'self' http://www.example.com", …
Run Code Online (Sandbox Code Playgroud)

ember.js ember-data

9
推荐指数
1
解决办法
1万
查看次数

如何在任何应用程序中使用jquery注入html标记?

我想将html标记注入到不同平台中多个站点的div中.理想情况下,每个开发人员都可以在我的js中插入脚本标记.让我们假设每个应用程序都有bootstrap和jquery.

<script id="globalheaderapi" src="https://www.url.com/globalheader.js"></script>
Run Code Online (Sandbox Code Playgroud)

和html在应用程序上只会是这样的

<header id="globalHeader"></header>
Run Code Online (Sandbox Code Playgroud)

我想在标题中插入我的html标记.我还想让js插入到css源的链接.

问题是,应用程序只有jquery.

 $( document ).ready(function() {
  //insert link to header css   
    $('head').append('<link rel="stylesheet" href="globlalHeader.min.css" type="text/css" />');

 //insert html in div
 $( "#globalHeader" ).html( "<nav><ul><li><a href="link">Home</li><li><a href="link">About</li></ul></nav>" );
 });
Run Code Online (Sandbox Code Playgroud)

更新

我尝试过$( "#globalHeader" ).load(...,如果js和应用程序在同一个域中,如果我在不同的域中尝试它我会得到crosssite错误

   XMLHttpRequest cannot load http://url . No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'null' is therefore not allowed access. 
Run Code Online (Sandbox Code Playgroud)

javascript jquery

8
推荐指数
1
解决办法
1425
查看次数

Flutter Web:从源 ** 访问 ** 处的 XMLHttpRequest 已被 CORS 策略阻止

我正在开发一个应用程序,在该应用程序中我使用 package.json 发出“http”请求import 'package:http/http.dart' as http;。当我使用它时,此请求工作正常AndroidiOS但在Fultter Web我遇到CORS Policy问题时。

代码

Future<Details> verification(String id) async {
  final http.Response response = await http
      .post(
        'https://secure.iccrc-crcic.ca/search/do/lang/en',
        headers: <String, String>{
          'Content-Type': 'application/x-www-form-urlencoded',
          'Access-Control-Allow-Origin': '*',
          'Access-Control-Allow-Methods': 'POST,GET,DELETE,PUT,OPTIONS',
          'Accept': '*/*'
        },
        body:
            "form_fields=%20lang%3Den%26search_last_name%3D%26search_first_name%3D%26search_iccrc_number%3D$id%26search_membership_status%3D1%26search_company_name%3D%26search_agent%3D%26search_country%3D%26search_province%3D%26search_postal_code%3D%26search_city%3D%26search_street%3D&query=%20&letter=%20&start=%200",
      )
      .timeout(Duration(minutes: 1));

  if (response.statusCode == 200) {
    return verificationEmail(response.body);
  } else {
    throw Exception('Failed to create album.');
  }
}
Run Code Online (Sandbox Code Playgroud)

错误

Access to XMLHttpRequest at 'https://secure.iccrc-crcic.ca/search/do/lang/en' 
from origin 'https://immigration-101.web.app' has been blocked by CORS …
Run Code Online (Sandbox Code Playgroud)

cors dart flutter flutter-web

8
推荐指数
0
解决办法
1605
查看次数

尝试使用expressJS重定向时“被CORS策略阻止”

我在尝试使用 ExpressJS 重定向时遇到问题,我制作了一个登录系统来获取发布请求,如果用户存在,则页面应该重定向,但 Cors 却阻止了它。

这是请求:

router.post('/login', async (req, res) => {

    try{    
       let usersData = await  getFiles(__dirname + '/users.json');
       let parsedUsers = JSON.parse(usersData);
       let userChecker;
       for(let i = 0; i < parsedUsers.length; i++){
       if(parsedUsers[i].userName === req.body.userName){
           userChecker = 1;
           break;
       } 
       }

       if(!userChecker){
        console.log(`${req.body.userName} Not exist`);}

        else {
        console.log(`${req.body.userName} Approved`);
        res.redirect('/')
       }
        }
     catch (err) {
      if(err) throw err
    };
})
Run Code Online (Sandbox Code Playgroud)

这是它在控制台发送的错误:

Access to fetch at 'http://localhost:3001/users/login' (redirected from 'http://localhost:4000/users/login') from origin 'null' has been blocked by CORS policy: …
Run Code Online (Sandbox Code Playgroud)

javascript express

7
推荐指数
1
解决办法
4832
查看次数