我正在尝试从跨域制作登录页面,但无法解决问题,错误是:
XMLHttpRequest无法加载http://localhost/testing/resp.php。在飞行前响应中,Access-
Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Headers。
我的Javascript代码是:
$('#login').click(function(){
var username = $('#uname').val();
var password = $('#pass').val();
var result = $('.result');
result.text('loading....');
if (username != '' && password !=''){
var urltopass = 'action=login&username='+username+'&password='+password;
$.ajax({
type: 'POST',
data: urltopass,
headers: {"Access-Control-Allow-Headers": "Content-Type"},
url: 'http://localhost/testing/resp.php',
crossDomain: true,
cache: false,
success: function(responseText){
console.log(responseText);
if(responseText== "0"){
result.text('incorrect login information');
} else if (responseText == "1"){
window.location="http://localhost/testing/home.php";
} else{
alert('error in sql query \n' + responseText);
}
}
});
} else return false;
});
http://localhost/testing/resp.php的PHP代码:
<?php
include "db.php"; //Connecting to database
if (!isset($_SERVER['HTTP_ORIGIN'])) {
echo "This is not cross-domain request";
exit;
}
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
header("Access-Control-Allow-Headers: Content-Type, Authorization, X-Requested-With");
header('P3P: CP="CAO PSA OUR"'); // Makes IE to support cookies
header("Content-Type: application/json; charset=utf-8");
if (isset($_POST['action']) && $_POST['action'] == 'login'){
$uname = $_POST['username'];
$pass = $_POST['password'];
$sql = "SELECT * FROM loginajax WHERE username='$uname' AND password='$pass'";
$rs=$conn->query($sql);
if (mysqli_num_rows($rs) <= 0){
echo "0";
} else {
echo "1";
}
} else echo "this is not Login";
?>
删除此:
headers: {"Access-Control-Allow-Headers": "Content-Type"},
从您的jQuery.ajax调用中。
服务器用Access-Control-Allow-Headers
头响应,客户端不将其发送到服务器。
客户端发送Access-Control-Request-Headers
请求允许某些标头的请求,服务器以响应并Access-Control-Allow- Headers
列出其允许的实际标头。客户端不会要求允许哪些标头。
问题内容: 我正在尝试使用发布请求将文件发送到服务器,但是在发送请求时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了错误并添加了标题: 然后我得到错误: Access-Control-Allow-Headers不允许请求标头字段Access-Control-Allow-Origin 所以我用谷歌搜索,唯一能找到的类似
我正在尝试将文件发送到我的服务器,并发送post请求,但当它发送时会导致错误: Access-Control-Allow-Headers不允许请求标头字段Content-Type。 所以我搜索了这个错误并添加了标题: 然后我得到错误:
此外,客户机url http://localhost:8081被添加到KeeyCloak中的Web Origins中。不确定还缺少什么来让它工作。
问题内容: 我正在使用 Postman Chrome Extension* 对服务进行 POST ,并且得到了预期的响应。 * 但是,当我使用进行相同的 POST 请求时,一切都会陷入困境。 我得到了: 作为标题。 我不知道为什么Postman可以用,而Chrome不能用… 有任何想法吗? 问题答案: 问题是由于缺少请求标头。要解决此问题,我们需要添加到请求标头中 a添加到。您可以使用在应用程序级
问题内容: 我的产品使用Firebase rtdb,firestore,存储,身份验证和托管。我没有对我的CORS配置进行任何更改。但是,今天我在尝试将图像上传到存储并检索它们时开始出现以下CORS错误: 访问位于’ https://firebasestorage.googleapis.com/v0/b/diary-a77f6.appspot.com/o?name=images%2FJ1gU3KP
请求头字段access-control-allow-headers本身在飞行前响应中是不允许的