Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许原点。在CodeIgniter框架中_Reactjs_Codeigniter_Web Services_Access Control - Fatal编程技术网

Reactjs 飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许原点。在CodeIgniter框架中

Reactjs 飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许原点。在CodeIgniter框架中,reactjs,codeigniter,web-services,access-control,Reactjs,Codeigniter,Web Services,Access Control,我是codeIgniter的新手,我已经使用codeIgniter构建了一个RESTWeb服务 使用react JS的UI 在postman中,web服务似乎运行良好。但是当我集成到React JS中时,它抛出了一个错误 加载失败:飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许来源。 EmployeeLogin.js:2未捕获(承诺中)类型错误: 无法获取 我的web服务是:123.0.0.5:81/codeigniter restapi/index.php/auth/login

我是codeIgniter的新手,我已经使用codeIgniter构建了一个RESTWeb服务

使用react JS的UI

在postman中,web服务似乎运行良好。但是当我集成到React JS中时,它抛出了一个错误

加载失败:飞行前响应中的访问控制允许标头不允许请求标头字段访问控制允许来源。 EmployeeLogin.js:2未捕获(承诺中)类型错误: 无法获取

我的web服务是:123.0.0.5:81/codeigniter restapi/index.php/auth/login

我的React服务器是:localhost/3000

我已经搜索了解决方案,并尝试在我的控制器,但没有工作

class Auth extends CI_Controller {
    function __construct() {
        parent::__construct();
        header('Access-Control-Allow-Origin: *');
        header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method, Authorization");
        header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");    
    }
我的脚本是:

(async () => {
          const rawResponse = await fetch('http://123.0.0.5:81/codeigniter-rest-api/index.php/auth/login', {
              method: 'POST',
              headers: {
                  'Accept': 'application/json',
                  'Content-Type': 'application/json'
              },
              body: JSON.stringify(datapost)
          });
          const content = await rawResponse.json();

          alert(content);
      })();
更改:
fetch('http://...)
to
fetch('https://...)
获取('/…)


您不能通过HTTP执行跨源请求,只能通过HTTPS。

为什么请求具有
访问控制允许源代码。
。。?我想应该是服务器端。。是的,我看了文件。现在工作很好。谢谢