XMLHttpRequest No 'Access-Control-Allow-Origin'
XMLHttpRequest No 'Access-Control-Allow-Origin'
我正在尝试使用ionic 2和angular 2进行登录访问。每当我按下正确的细节,我得到这个错误
XMLHttpRequest cannot load http://adirzoari.16mb.com/newapi.php. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://localhost:8100' is therefore not allowed access.'
我也在网站上看到了一些类似的问题,但仍然没有得到任何解决方案。
这是我的PHP登录文件
<?php
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");
$conn = new mysqli("mysql.hostinger.co.uk", "a", "1234", "appd");
//http://stackoverflow.com/questions/18382740/cors-not-working-php
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);
}
//http://stackoverflow.com/questions/15485354/angular-http-post-to-php-and-undefined
$postdata = file_get_contents("php://input");
if (isset($postdata)) {
$request = json_decode($postdata);
$username = $request->username;
$password = $request->password;
$data = array();
if ($password != "" && $username != "") {
//echo "Server returns: " . $username . "Password is :" . $password;
/*$arr=array();
$st="select * from subnews order by SubID desc limit 10";
$qr=$conn->query($st);
while($row=$qr->fetch_assoc()){
$arr[]=$row;
}
echo json_encode($arr);*/
$sel="SELECT id FROM users WHERE username='$username' AND password='$password'";
$result=$conn->query($sel);
$numrow=$result->num_rows;
if($numrow == 1){
include 'tokengenerate.php';
$token=generateRandomString();
$update="update users set token='$token' where username='$username' AND password='$password'";
$qr=$conn->query($update);
if($qr){
$sel="SELECT id FROM users WHERE username='$username' AND password='$password'";
$query=$conn->query($sel);
while($row=$query->fetch_assoc(){
$data[]=array(
"name"->$row['username'],
"token"->$row['token']
);
echo json_encode($data);
}
}
}
}
else {
header('HTTP/1.1 401 Unauthorized', true, 401);
}
}
else {
echo "Not called properly with username parameter!";
}
?>
当您将XmlHttpRequest从您的域发送到另一个域时,由于出于安全目的而导致浏览器阻塞,可能会出现此问题。
如果你没有向另一个请求,如果你没有从一个非安全的url请求到一个安全的url,例如从http url请求到https,这也可能导致它
相关文章:
- 如何解决Access Control Allow Origin错误
- 由于响应中不存在“Access Control Allow Origin”标头,跨域请求停止工作
- XMLHttpRequest : 不被 access-control-allow-origin 所允许
- 可以在Access Control Allow Origin中指定端口
- Access Control Allow Origin阻止我访问google api,尽管使用了dataType:
- JSONP跨原点错误'不存在Access Control Allow Origin标头'
- 角度:原点http://localhost在Access Control Allow Origin标头中找不到
- Angular$resource调用不被Access Control Allow使用Safari接受,而被Chrome接
- Instagram API access_token request and Access-Control-Allow-
- 方法不允许 — 从 Angularjs 中的请求标头中删除 Access-Control-Request-Method
- Yahoo - OAuth2 - SocialAPI:在初始响应中不返回“Access-Control-Allow-Or
- 在 Safari 上使用通用分析的 Access-Control-Allow-Origin 不允许
- Windows上的CouchDB说请求的资源上不存在“Access-Control-Allow-Origin”标头
- XMLHttpRequest 无法加载 http No Access-Control-Allow-Origin head
- Emberjs/Chrome/FFox:预检中的数字 Access-Control-Request-Headers
- Simple XMLHttpRequest 失败,Access-Control-Allow-Origin 标头为 nul
- Flickr API OAuth Access Token request and Access-Control-All
- jquery.ajax Access-Control-Allow-Origin
- Chrome Origin 空值是 Access-Control-Allow-Origin 所允许的
- Angular JS$http Access-Control-Allow-Origin中的Credentials和通配符