否'访问控制允许来源'jQuery Ajax登录中的标题

No 'Access-Control-Allow-Origin' Header In jQuery Ajax Login

本文关键字:登录 Ajax 标题 jQuery 访问控制      更新时间:2023-09-26

我有一个名为login.php的登录页,它位于主第一根级别,users.php位于assets/app/users.php。我使用jQueryajax来完成登录过程。在login.php的JS部分,我有:

    if(loginProceed){
        var data = {email: loginEmail, pass:  loginPass};
        var loginreq = $.ajax({
                                type: "POST",
                                url : "assets/app/users.php",
                                cache: false,
                                data: data
                          });
    loginreq.done(function(html) {
   if(html=='true'){
       window.location.replace('app.php'); }
   else  {
    $("#loginRequest").before('<div class="alert alert-danger err" role="alert">Email or Password Is Not Correct</div>');
    }
    });    
}
     e.preventDefault();
});

users.php中我有

<?php
header('Access-Control-Allow-Origin: *');
session_start(); 
include 'config.php';
           $email = $_POST['email'];
           $pass  = $_POST['pass'];
           $conn = new mysqli(DB_HOST, DB_USER, DB_PASS, DB_DATABASE);                
           $sql = "SELECT id, email, fname, lname, type FROM users WHERE `email`=? AND `pass`=?";              
           $stmt = $conn->prepare($sql);
           $stmt->bind_param('ss', $email,$pass);
           $stmt->execute();
           $stmt->bind_result($theId,$theEmail,$theFName,$theLname,$theType);
           if ($stmt->fetch()) {
                echo 'true';
                $_SESSION['LOGIN_STATUS'] = true;
                $_SESSION['fname'] = $theFName;
           } else {
                echo 'false';
            }

现在,这是为我在所有浏览器中进行登录过程,但对其他一些用户来说,它只适用于Chrome!甚至都没有,我们在控制台中收到了这些错误:

login.js:74对象login.php:1 XMLHttpRequest无法加载http://domain.ca/login.php.不请求的上存在"Access Control Allow Origin"标头资源原点'http://www.domain.ca因此允许访问。

或在FireFox 上

不安全(http://)页面上存在密码字段。这是一个允许用户登录凭据被盗的安全风险。[学习更多]"无需传感器:https://developers.google.com/maps/documentation/javascript/error-messages"util.js:30:57

和EI

SCRIPT7002:XMLHttpRequest:网络错误0x4c7,操作为已被用户取消。

你能告诉我为什么会发生这种事吗?

尝试允许单域

header('Access-Control-Allow-Origin: http://www.domain.ca');

或者尝试使用Header set Access-Control-Allow-Origin "*"修改.htaccess在此处输入链接描述

看起来你的脚本是从domain.ca加载的(没有www),但你或其他用户从www.domain.ca

请求php