gpt4 book ai didi

javascript - 在 AngularJS 和 PHP 中允许 CORS

转载 作者:行者123 更新时间:2023-11-30 05:32:50 25 4
gpt4 key购买 nike

我将 AngualrJS 用于带有一些 PHP 的单页应用程序(MAMP PRO 作为开发环境)

在 Angular http get 请求中,我有第 3 方 api 提供程序,它在 http 请求时给我返回 json。

当我发出请求时,我得到“请求的资源上不存在‘Access-Control-Allow-Origin’ header ”。

基本上我现在在 CORS 中停留了 8 小时以上!并且不确定如何让浏览器 (Chrome/FF) 覆盖 CORS 并发送 http 请求。

这是 Controller.js 中的获取请求:

在 Angular 中:

factory.fetchJson = function (filePath) {

return $http.get(filePath)
.success(function (data, status) {
return data;
console.log('Success Fetch JSON', status);
}).error(function (data, status, headers, config) {
console.log('Error Fetch JSON', status);
});
}

在 angualrjs Controller.js 中设置允许 CORS

myApp.config(['$httpProvider', function($httpProvider) {
$httpProvider.defaults.useXDomain = true;
$httpProvider.defaults.withCredentials = true;
delete $httpProvider.defaults.headers.common["X-Requested-With"];
$httpProvider.defaults.headers.common["Accept"] = "application/json";
$httpProvider.defaults.headers.common["Content-Type"] = "application/json";

}
]);

在 index.php header 中允许 CORS 的设置:

    <html>

<?php

// Allow from any origin
if (isset($_SERVER['HTTP_ORIGIN'])) {
header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
header('Access-Control-Allow-Credentials: true');
header('Access-Control-Max-Age: 86400'); // cache for 1 day
}

// Access-Control headers are received during OPTIONS requests
if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
header("Access-Control-Allow-Methods: GET, POST, OPTIONS");

if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");

exit(0);
}

echo "You have CORS!";

?>

我不喜欢 JSOP 或 MIM 代理。

帮助!

最佳答案

关于javascript - 在 AngularJS 和 PHP 中允许 CORS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25858901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com