Javascript 在Openshift上使用Angular和PHP时出现跨域脚本错误

Javascript 在Openshift上使用Angular和PHP时出现跨域脚本错误,javascript,php,mysql,angularjs,cross-domain,Javascript,Php,Mysql,Angularjs,Cross Domain,我在网上搜索过,在其他stackoverflow线程中找到了各种各样的答案,都试过了,但我的答案都没用。 情景: 在客户端使用angular并使用http get请求 在Openshift主机上运行的MySQL数据库旁边的服务器端使用PHP 角度代码: var app = angular.module("myapp", []).config(function ($httpProvider) { //Enable cross domain calls $httpProvider.default

我在网上搜索过,在其他stackoverflow线程中找到了各种各样的答案,都试过了,但我的答案都没用。 情景:

  • 在客户端使用angular并使用http get请求
  • 在Openshift主机上运行的MySQL数据库旁边的服务器端使用PHP
角度代码:

var app = angular.module("myapp", []).config(function ($httpProvider) {
//Enable cross domain calls
$httpProvider.defaults.useXDomain = true;
delete $httpProvider.defaults.headers.common['X-Requested-With'];
});

app.controller("Circle", function ($scope, $http)
{
    $scope.Bijstand = function (Verdiep) {
       $http.get(url + "?function=getMetingen&Verdieping="+Verdiep)
        .success(function (Result) {
            console.log(Result);
        });
    }
});
PHP代码:

header("Access-Control-Allow-Origin: 'http://localhost:54700'")
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Methods: GET, POST"); 
header("Access-Control-Allow-Headers: X-Requested-With");

$servername = getenv('OPENSHIFT_MYSQL_DB_HOST').":".getenv('OPENSHIFT_MYSQL_DB_PORT');
$username = getenv('OPENSHIFT_MYSQL_DB_USERNAME');
$password = getenv('OPENSHIFT_MYSQL_DB_PASSWORD');
$dbname = getenv('OPENSHIFT_GEAR_NAME');

// Create connection
$con = $con = mysql_connect($servername, $username, $password);
// Check connection
if (!$con) {
    die("Connection failed: " . mysql_error());
} 
mysql_select_db($dbname,$con);
从angular向php发出http get请求时,我遇到以下错误:

我见过各种各样的方法试图解决这个问题,我都试过了,但都没用。 请帮我调试这个。 仅供参考:我不关心数据库或数据的安全性。存储的信息一点也不敏感,所以不要隐瞒“隐私”问题。
谢谢

这可能不是一个完整的答案,但是HTTP响应只能有一个值用于
访问控制允许源站

例如,讨论使用多个
ACAO
字段时的问题

在单个字段中列出值也不起作用。说:

它不是允许以空格分隔的原点列表,而是单个原点或字符串“null”

使用“*”(星号)作为值并不总是有效,有关更多详细信息,请参阅W3C规范

因此,要返回的唯一安全值是“”


最后,Chrome在本地主机上支持CORS时遇到了问题,请参阅以了解更多详细信息。几个月前,当我上次研究CORS时,这个问题仍然存在。

因此将它更改为一个ACAO命令,使它现在看起来像头(“Access Control Allow Origin:”);但我仍然收到相同的错误。请记录。我正在Microsoft Edge中运行并调试此命令,而不是ChromeCool您可以添加HTTP消息吗(标题字段)在浏览器和服务器之间交换问题,以便我们可以从CORS的角度看发生了什么?你是指我发送给PHP的get字符串吗?我不知道如何访问CORS信息。例如,请参阅下面的列表“客户端和服务器之间的完全交换”“。您可以在浏览器控制台中看到此内容。从未真正使用CORS,因此我不太确定,但这是您需要的吗?”?
SEC7120 : Origin of 'http://localhost:54700' not found in Access -Control- Allow -Origin header .

SCRIPT7002 : XMLHttpRequest : Network error 0x80700013 , Can not complete this operation by mistake 80700013 .

SERVER ERROR - The server has detected an unexpected error that the request can not be completed.( XHR ) : GET - " getString "