无效的CORS请求

问题描述 投票:0回答:3

我正在angularJs中创建页面,当我向API发送请求时,它会生成错误:

enter image description here

我的代码是:

<!DOCTYPE html>
<html ng-app="AppIndex">
<head>
    <meta charset="utf-8">
    <title>Hola mundo</title>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.7.9/angular.min.js"></script>
    <script src="ControllerIndex.js"></script>
</head>
<body ng-controller="ControllerIn">
    {{"Hola Mundo" + nombre}}
    <button ng-click="metodos()">Enviar</button>
    <ul>
        <li ng-repeat="response in posts">
            <h2>holaaaaa</h2>
            <p>{{response.title}}</p>
            <p>{{response.body}}</p>
        </li>
    </ul>
</body>

</html>

和javaScript

angular.module("AppIndex",[])
.controller("ControllerIn", function($scope, $http){
    $scope.nombre = "Juan";
    $scope.newPost = {};
    $scope.responses = [];
    $scope.metodos = function(){
        $http({
                method: 'POST',
                url: 'http://localhost:900/Servicios/forgotPassword',
                Headers: {"Access-Control-Allow-Origin": "http://127.0.0.1", "Access-Control-Allow-Methods": "POST", "Content-Type" : "application/json"},
                data: {"user" : "admin1"}
             }).then(function (response){
                console.log(response);
                $scope.posts = response;
             },function (error){
                console.log(error);
             });
    }
})

错误消息是:

POSThttp://localhost:900/Servicios/forgotPassword403{数据:“无效的CORS请求”,状态:403,配置:{…},状态文本:“”,标头:ƒ,...

我正在使用AngularJS 1.7.9

javascript html angularjs http-post
3个回答
0
投票

Access-Control-Allow-Origin是响应头;如果我没记错的话,这是客户端代码。您需要从服务器端发送Access-Control-Allow-*标头,以响应客户端请求。


0
投票

您只需要启用来自服务器端的CORS请求。您正在使用哪个后端?


0
投票

如果您使用express.JS作为后端,则需要将cors属性作为中间件传递。

express.JS中的操作方法

方法1

  1. 创建文件cors.js。然后复制此代码并粘贴到您的cors.js文件中

    module.exports = function(req, res, next) { res.header("Access-Control-Allow-Origin", "*"); res.header('Access-Control-Allow-Methods', 'DELETE, PUT, GET, POST'); res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); next(); }

  2. 之后,您需要在server.js文件中需要此cores.js文件,并将其作为中间件传递例如:

    app.use(require('./cors'));

方法2

您可以简单地使用npm i cors安装cors并在您的服务器文件中要求。

注意:这是您在express.js中所做的。但是,如果您使用其他后端技术,然后类似地,您可以做类似的事情,使用express.JS的示例

© www.soinside.com 2019 - 2024. All rights reserved.