dongtangjie0495 2015-07-07 11:51
浏览 69
已采纳

为什么我的网站认为$ http请求是跨域的?

In my website I'm calling to a php page at http://domain.com/angulartest/js/services/index.php

from a service in the same folder.

app.factory('vakmannen', ['$http', function($http) {
return $http.get('http://www.domain.com/angulartest/js/services/index.php')
.success(function(data) {
    return data;
})
.error(function(err) {
    return err;
}); 
}]);

and this is my php

<?php
header("Access-Control-Allow-Origin: http://www.domain.com/angulartest/");

$servername = "localhost";
$username = "XXXXX";
$password = "XXXXX";
$dbname = "XXXXX";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);

// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "SELECT * FROM XXXX";
$result = $conn->query($sql);
while($row = $result->fetch_array(MYSQL_ASSOC)) {
            $myArray[] = $row;
    }
    echo json_encode($myArray);
?> 

But every time the $http.get runs Firefox tells me the CORS header isn't right, I've tried it on Chrome too but to no avail.

Any help will be greatly appreciated!

  • 写回答

1条回答 默认 最新

  • duanmu1736 2015-07-07 11:53
    关注

    If the angular app is in the same folder, you can use relative URLs. You can even remove the Access-Control-Allow-Origin header.

    app.factory('vakmannen', ['$http', function($http) {
    return $http.get('/angulartest/js/services/index.php')
    .success(function(data) {
        return data;
    })
    .error(function(err) {
        return err;
    }); 
    }]);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 为什么eprime输出的数据会有缺失?
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题