我在我的网站上使用AngularJS。我不想使用php向我的mysql数据库发出GET请求。我创建了一个简单的PHP脚本
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli($server, $username, $password, $database);
mysqli_set_charset($conn, "utf8");
$result = $conn->query("SELECT name FROM table");
$outp = "";
while($rs = $result->fetch_array(MYSQLI_ASSOC)) {
if ($outp != "") {
$outp .= ",";
}
$outp .= '{"name":"' . $rs["name"] . '",';
}
$outp ='{"records":['.$outp.']}';
$conn->close();
echo($outp);
?>
当我用angularJs http.get请求这个php文件时,响应是403禁止的。我的AngularJS代码:
getScript: function () {
var req = {
method: 'GET',
url: '/app/scripts/script.php',
headers: {
'Content-Type': 'application/json'
}
};
return $http(req);
}
正如你所看到的,我甚至可以从同一台服务器获得403。我在这里缺少什么?
答案 0 :(得分:0)
getScript: function () {
var req = {
method: 'GET',
url: '/app/scripts/script.php',
};
return $http(req);
}
尽量不要自定义Request标头。这应该解决403 Forbidden Issue。
答案 1 :(得分:0)
好吧我明白了。由于我的.htaccess文件中的这一行,我得到了403:
Options FollowSymLinks