【问题标题】:javascript - No 'Access-Control-Allow-Origin' header is present on the requested resource. i dont know what to dojavascript - 请求的资源上不存在“Access-Control-Allow-Origin”标头。我不知道该怎么办
【发布时间】:2018-07-14 20:53:27
【问题描述】:

嗯,这条消息总是显示在我的控制台上.. 有人可以帮我解决这个问题吗?.. 顺便说一句,这是 ionic.. 这是我的 controller.js

angular.module('directory.controllers', [])

.controller('EmployeeIndexCtrl', function ($scope, EmployeeService, $http) {

    $scope.searchKey = "";

    $scope.clearSearch = function () {
        $scope.searchKey = "";
        findAllEmployees();
    }

    $scope.search = function () {
        EmployeeService.findByName($scope.searchKey).then(function (employees) {
            $scope.employees = employees;
        });
    }
    var findAllEmployees = function() {
        $http({
          method: 'GET',
          url: 'https://miudr.000webhostapp.com'
        }).then(function (res){
          $scope.employees = res.data;
          console.log(res);
        })
    }
    findAllEmployees();

})

.controller('EmployeeDetailCtrl', function ($scope, $stateParams, EmployeeService) {
    EmployeeService.findById($stateParams.employeeId).then(function(employee) {
        $scope.employee = employee;
    });
})

.controller('EmployeeReportsCtrl', function ($scope, $stateParams, EmployeeService) {
    EmployeeService.findByManager($stateParams.employeeId).then(function(employees) {
        $scope.employees = employees;
    });
});

这是我的 json.php

<?php
header("Content-type:application/json");

 $connection = mysqli_connect("localhost", "root", "", "miudr") or die("Error " . mysqli_error($connection));

 $sql = "select * from data";
 $result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection));

 while ($row = mysqli_fetch_assoc($result)) {
     $data[] = $row;
 }

 echo json_encode($data, JSON_PRETTY_PRINT);

 mysqli_close($connection);
 ?>

php 文件位于我的主机上.. 但无论如何我将我的用户名和密码隐藏为 root 和“”.. 我不知道每次我尝试显示这个 json.. 它没有显示结果.. 但显示给我No'Access blablabla'

对不起,我的英语不好

【问题讨论】:

  • 您是否可以控制发出请求的服务器,即https://miudr.000webhostapp.com - 如果可以,请添加对 CORS 访问的 CORS 支持?注意:在您的角度代码中,我看不到访问您的json.php,只有https://miudr.000webhostapp.com ??
  • 哦,对不起,我在那里打错字了..但它仍然在做同样的事情._。如何添加 CORS 支持?

标签: javascript php json


【解决方案1】:

您必须允许您的后端接受请求。像这样的

header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');

由于“*”,这将接受所有人。如果您只想接受来自您的 IP 的请求,请将 * 替换为您的 IP。

否则您可以考虑使用 JSONP。只需将 dataType: 'JSONP' 添加到您的 $http 对象即可。

【讨论】:

    猜你喜欢
    • 2014-04-06
    • 2021-05-15
    • 2013-11-29
    • 2014-07-28
    • 2014-01-19
    • 2013-12-07
    相关资源
    最近更新 更多